HTML+CSS+JS实现 ❤️翻页倒计时ui特效❤️

       效果演示:

 

   代码目录:

主要代码实现:

CSS样式:

@charset "utf-8";
body {background-color: #f2f1ed;
}.wrap {position: absolute;bottom: 0;top: 0;left: 0;right: 0;margin: auto;height: 310px;
}a {text-decoration: none;color: #1a1a1a;
}h1 {margin-bottom: 60px;text-align: center;font: 300 2.25em "Lato";text-transform: uppercase;
}h1 strong {font-weight: 400;color: #ea4c4c;
}h2 {margin-bottom: 80px;text-align: center;font: 300 0.7em "Lato";text-transform: uppercase;
}h2 strong {font-weight: 400;
}.countdown {width: 720px;margin: 0 auto;
}.countdown .bloc-time {float: left;margin-right: 45px;text-align: center;
}.countdown .bloc-time:last-child {margin-right: 0;
}.countdown .count-title {display: block;margin-bottom: 15px;font: normal 1.24em "Lato";color: #1a1a1a;text-transform: uppercase;
}.countdown .figure {position: relative;float: left;height: 110px;width: 100px;margin-right: 10px;background-color: #fff;border-radius: 8px;-moz-box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.2), inset 2px 4px 0 0 rgba(255, 255, 255, 0.08);-webkit-box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.2), inset 2px 4px 0 0 rgba(255, 255, 255, 0.08);box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.2), inset 2px 4px 0 0 rgba(255, 255, 255, 0.08);
}.countdown .figure:last-child {margin-right: 0;
}.countdown .figure>span {position: absolute;left: 0;right: 0;margin: auto;font: normal 5.94em/107px "Lato";font-weight: 700;color: #de4848;
}.countdown .figure .top:after,
.countdown .figure .bottom-back:after {content: "";position: absolute;z-index: -1;left: 0;bottom: 0;width: 100%;height: 100%;border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}.countdown .figure .top {z-index: 3;background-color: #f7f7f7;transform-origin: 50% 100%;-webkit-transform-origin: 50% 100%;-moz-border-radius-topleft: 10px;-webkit-border-top-left-radius: 10px;border-top-left-radius: 10px;-moz-border-radius-topright: 10px;-webkit-border-top-right-radius: 10px;border-top-right-radius: 10px;-moz-transform: perspective(200px);-ms-transform: perspective(200px);-webkit-transform: perspective(200px);transform: perspective(200px);
}.countdown .figure .bottom {z-index: 1;
}.countdown .figure .bottom:before {content: "";position: absolute;display: block;top: 0;left: 0;width: 100%;height: 50%;background-color: rgba(0, 0, 0, 0.02);
}.countdown .figure .bottom-back {z-index: 2;top: 0;height: 50%;overflow: hidden;background-color: #f7f7f7;-moz-border-radius-topleft: 10px;-webkit-border-top-left-radius: 10px;border-top-left-radius: 10px;-moz-border-radius-topright: 10px;-webkit-border-top-right-radius: 10px;border-top-right-radius: 10px;
}.countdown .figure .bottom-back span {position: absolute;top: 0;left: 0;right: 0;margin: auto;
}.countdown .figure .top,
.countdown .figure .top-back {height: 50%;overflow: hidden;-moz-backface-visibility: hidden;-webkit-backface-visibility: hidden;backface-visibility: hidden;
}.countdown .figure .top-back {z-index: 4;bottom: 0;background-color: #fff;-webkit-transform-origin: 50% 0;transform-origin: 50% 0;-moz-transform: perspective(200px) rotateX(180deg);-ms-transform: perspective(200px) rotateX(180deg);-webkit-transform: perspective(200px) rotateX(180deg);transform: perspective(200px) rotateX(180deg);-moz-border-radius-bottomleft: 10px;-webkit-border-bottom-left-radius: 10px;border-bottom-left-radius: 10px;-moz-border-radius-bottomright: 10px;-webkit-border-bottom-right-radius: 10px;border-bottom-right-radius: 10px;
}.countdown .figure .top-back span {position: absolute;top: -100%;left: 0;right: 0;margin: auto;
}

部分HTML代码 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>倒计时</title><script type="text/javascript" src="js/jquery.min.js"></script><link type="text/css" href="css/style.css" rel="stylesheet" /></head><body><script type="text/javascript" src="js/TweenMax.min.js"></script><div class="wrap"><h1>项目 <strong>倒计时</strong></h1><div class="countdown"><div class="bloc-time hours" data-init-value="22"><span class="count-title">时</span><div class="figure hours hours-1"><span class="top">2</span><span class="top-back"><span>2</span></span><span class="bottom">2</span><span class="bottom-back"><span>2</span></span></div><div class="figure hours hours-2"><span class="top">2</span><span class="top-back"><span>2</span></span><span class="bottom">2</span><span class="bottom-back"><span>2</span></span></div></div><div class="bloc-time min" data-init-value="0"><span class="count-title">分</span><div class="figure min min-1"><span class="top">0</span><span class="top-back"><span>0</span></span><span class="bottom">0</span><span class="bottom-back"><span>0</span></span></div><div class="figure min min-2"><span class="top">0</span><span class="top-back"><span>0</span></span><span class="bottom">0</span><span class="bottom-back"><span>0</span></span></div></div><div class="bloc-time sec" data-init-value="0"><span class="count-title">秒</span><div class="figure sec sec-1"><span class="top">0</span><span class="top-back"><span>0</span></span><span class="bottom">0</span><span class="bottom-back"><span>0</span></span></div><div class="figure sec sec-2"><span class="top">0</span><span class="top-back"><span>0</span></span><span class="bottom">0</span><span class="bottom-back"><span>0</span></span></div></div></div></div><script type="text/javascript">// Create Countdownvar Countdown = {// Backbone-like structure$el: $('.countdown'),// Paramscountdown_interval: null,total_seconds: 0,// Initialize the countdown  init: function() {// DOMthis.$ = {hours: this.$el.find('.bloc-time.hours .figure'),minutes: this.$el.find('.bloc-time.min .figure'),seconds: this.$el.find('.bloc-time.sec .figure')};// Init countdown valuesthis.values = {hours: this.$.hours.parent().attr('data-init-value'),minutes: this.$.minutes.parent().attr('data-init-value'),seconds: this.$.seconds.parent().attr('data-init-value'),};// Initialize total secondsthis.total_seconds = this.values.hours * 60 * 60 + (this.values.minutes * 60) + this.values.seconds;// Animate countdown to the end this.count();},count: function() {var that = this,$hour_1 = this.$.hours.eq(0),$hour_2 = this.$.hours.eq(1),$min_1 = this.$.minutes.eq(0),$min_2 = this.$.minutes.eq(1),$sec_1 = this.$.seconds.eq(0),$sec_2 = this.$.seconds.eq(1);this.countdown_interval = setInterval(function() {if (that.total_seconds > 0) {--that.values.seconds;if (that.values.minutes >= 0 && that.values.seconds < 0) {that.values.seconds = 59;--that.values.minutes;}if (that.values.hours >= 0 && that.values.minutes < 0) {that.values.minutes = 59;--that.values.hours;}// Update DOM values// Hoursthat.checkHour(that.values.hours, $hour_1, $hour_2);// Minutesthat.checkHour(that.values.minutes, $min_1, $min_2);// Secondsthat.checkHour(that.values.seconds, $sec_1, $sec_2);--that.total_seconds;} else {clearInterval(that.countdown_interval);}}, 1000);},animateFigure: function($el, value) {var that = this,$top = $el.find('.top'),$bottom = $el.find('.bottom'),$back_top = $el.find('.top-back'),$back_bottom = $el.find('.bottom-back');// Before we begin, change the back value$back_top.find('span').html(value);// Also change the back bottom value$back_bottom.find('span').html(value);// Then animateTweenMax.to($top, 0.8, {rotationX: '-180deg',transformPerspective: 300,ease: Quart.easeOut,onComplete: function() {$top.html(value);$bottom.html(value);TweenMax.set($top, {rotationX: 0});}});TweenMax.to($back_top, 0.8, {rotationX: 0,transformPerspective: 300,ease: Quart.easeOut,clearProps: 'all'});},checkHour: function(value, $el_1, $el_2) {var val_1 = value.toString().charAt(0),val_2 = value.toString().charAt(1),fig_1_value = $el_1.find('.top').html(),fig_2_value = $el_2.find('.top').html();if (value >= 10) {// Animate only if the figure has changedif (fig_1_value !== val_1) this.animateFigure($el_1, val_1);if (fig_2_value !== val_2) this.animateFigure($el_2, val_2);} else {// If we are under 10, replace first figure with 0if (fig_1_value !== '0') this.animateFigure($el_1, 0);if (fig_2_value !== val_1) this.animateFigure($el_2, val_1);}}};// Let's go !Countdown.init();</script></body></html>

上面的jquery.min.js和TweenMax.min.js需要引入即可运行

源码获取

精彩推荐更新中:

HTML5大作业实战100套

  打卡 文章 更新  37  /  100天

大家可以点赞、收藏、关注、评论我啦 、需要完整文件随时联系我或交流哟~!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML+CSS+JS实现 ❤️CSS3图片遮罩高亮显示❤️

效果演示&#xff1a; GIF压缩太大、故显示图片查看吧 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; charset "utf-8"; * {margin: 0;padding: 0;list-style: none; }body {background-color: #1B1B1B }img {border: 0;cursor: pointer; }a …

HTML+CSS+JS实现 ❤️响应式图文卡片滑块展示特效❤️

效果演示&#xff1a; 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; import url("https://fonts.googleapis.com/css?familyQuicksand:400,500,700&subsetlatin-ext"); html {position: relative;overflow-x: hidden !important; }body…

代码写好了怎么在php里裕兴_8 行代码用Python画一个中国地图

源 / SegmentFaultJupyter首先&#xff0c;第一神器是Jupyter。如果你是第一次使用&#xff0c;可能搞不清楚它的开发者做这么个鬼东西出来干什么&#xff0c;说它是博客系统也不像&#xff0c;说它是web服务器也不像&#xff0c;但它就是有用。因为我们传统的web开发首先想的就…

❤️六W字《计算机基础知识》(三)(建议收藏)❤️

推荐阅读&#xff1a; ❤️《计算机基础知识》&#xff08;一&#xff09;&#xff08;建议收藏&#xff09;❤️ ❤️《计算机基础知识》&#xff08;二&#xff09;&#xff08;建议收藏&#xff09;❤️ ❤️ java项目精品实战案例 ❤️ 101. Internet上&#xff0c;访问We…

源码 状态机_阿里中间件seata源码剖析七:saga模式实现

saga模式是分布式事务中使用比较多的一种模式&#xff0c;他主要应用在长流程的服务&#xff0c;对一个全局事务&#xff0c;如果某个节点抛出了异常&#xff0c;则从这个节点往前依次回滚或补偿事务。今天我们就来看看它的源码实现。状态机初始化在之前的文章《springcloudeur…

❤️六W字《计算机基础知识》(四)(建议收藏)❤️

151. www.cernet.edu.cn 的网址中&#xff0c;可以明确地看出是属于哪一类机构____。 A、教育界 B、政府单位 C、法人组织 D、公司 152. 在Wed网页中指向其他网页的‘指针“称之为____。 A、超链接 B、超文本 C、超媒体 D、多媒体 153. 下列关于URL的解释错误的是____。…

❤️六W字《计算机基础知识》(五)(建议收藏)❤️

客户/服务器模式的局域网&#xff0c;其网络硬件主要包括服务器、工作站、网卡和____。 A、网络拓扑结构 B、计算机 C、传输介质 D、网络协议 和广域网相比&#xff0c;局域网____。 A、有效性好但可靠性差 B、有效性差但可靠性高 C、有效性好可靠性也高 …

唯有自己变得强大_唯有自己变得强大,才能获得有用人脉!

孔子说&#xff1a;不患人之莫知己&#xff0c;求为可知也来源&#xff1a;田俊国课堂对初入职场的人来讲人微言轻&#xff0c;即便使出浑身解数去拓展关系&#xff0c;有权力、有地位的人也未必正眼瞧你。全世界的人都想巴结那些炙手可热的有权力、有资源的名人。问题是&#…

❤️六W字《计算机基础知识》(六)(建议收藏)❤️

FTP是因特网上最早使用的文件传输程序&#xff0c;使用FTP不能____。 A、查看文件 B、文件目录操作 C、下载文件 D、运行文件 WWW是一种建立在Internet上的全球性的、交互的、动态、多平台、分布式的图形信息系统&#xff0c;它的…

android sdk方法隐藏_每个Android开发都必须知道的利器

1.背景介绍在移动端项目功能不断完善和丰富的过程中我们一直在寻找一种可以高效开发且复用率高的开发模式&#xff0c;特别是多应用同步开发、管理。在开发过程中你是否遇到需要发布影子工程&#xff1f;新建项目是否需要耗费大量时间将原有基类、工具类、第三方通用类库逐个 c…

❤️六W字《计算机基础知识》(七)(建议收藏)❤️

在Word中&#xff0c;对某个段落的全部文字进行下列设置&#xff0c;属于段落格式设置的是____。 A、设置为四号字 B、设置为楷体字 C、设置为1.5倍行距 D、设置为4磅字间距 用Word编辑文件时&#xff0c;用户可以设置文件的自动保存时间间隔。如果改变自动保存时…

flash 火狐总是崩溃_win10系统火狐flash插件总是崩溃的解决方法

win10系统火狐flash插件总是崩溃的问题发生概率较高。怎样来处理win10系统火狐flash插件总是崩溃的问题&#xff0c;知道的人估计不多。本站针对win10系统火狐flash插件总是崩溃的情况总结了一些解决的方法。简单说两步&#xff1a;1、在火狐浏览器地址栏在输入&#xff1a;abo…

❤️六W字《计算机基础知识》(八)(建议收藏)❤️

在Word中替换的快捷键是____。 A、CTRLF B、CTRLH C、CTRLS D、CTRLP 在Word中打印的快捷键是____。 A、CTRLF B、CTRLH C、CTRLO D、CTRLP 在Word中打开新文档的快捷键是____。 A、CTRLF B、CTRLH C、CTRLO D、CTRLP 在Word中&#xff0c;___最大。 A、初…

s3vm与tritraining_S3FD论文解读

论文题目&#xff1a;S3FD: Single Shot Scale-invariant Face DetectorS$^3$FD: Single Shot Scale-invariant Face Detector​arxiv.orgsfzhang15/SFD​github.com作者团队&#xff0c;来自于中科院自动化所(CASIA)&#xff0c;一作Shifeng Zhang(张士峰)&#xff0c;看见没&…

❤️六W字《计算机基础知识》(九)(建议收藏)❤️

在PowerPoint2000中&#xff0c;若为幻灯片中的对象设置"飞入"&#xff0c;应选择对话框____。 A、自定义动画 B、幻灯片版式 C、自定义放映 D、幻灯处放映 在编辑Word文档时&#xff0c;输入的新字符总是覆盖了文档中已经输入的字符&#xff0c;_____。 A、原因是…

mysql怎么创建表_mysql怎么创建一个表

1.登陆成功后&#xff0c;首先进入某一个数据库 (不是指数据库服务器)use t1; //t1是数据库名如图所示&#xff1a;2.在此数据库中建立数据库表2.1 先建立表结构(可以理解为表的列名&#xff0c;也就是字段名)在实际生产过程中&#xff0c;表结构是需要经过精心设计的。通用的语…

❤️1000道《计算机基础知识》汇总上----(建议收藏)❤️

1、 世界上首先实现存储程序的电子数字计算机是____。 A、ENIAC B、UNIVAC C、EDVAC D、EDSAC 2、计算机科学的奠基人是____。 A、查尔斯.巴贝奇 B、图灵 C、阿塔诺索夫 D、冯.诺依曼 3、 世界上首次提出存储程序计算机体系结构的是____。 A、艾仑•图灵 B、冯•诺…

HTML+CSS+JS实现 ❤️乐队成员图片展示ui特效❤️

效果演示&#xff1a; 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; charset "utf-8"; /* CSS rest */body {font-size: 12px;font-family: "微软雅黑"; }* {margin: 0;padding: 0; }a {text-decoration: none; }ul, li, ol {list…

centos mysql 服务器_服务器数据库搭建流程(CentOs+mysql)

前言&#xff1a;服务器上数据库搭建需要知道Linux系统的版本&#xff0c;以前的Ubuntu14.04直接在终端下输入apt-get install (package)便可方便的下载并安装mysql&#xff0c;但是在centOs上就是行不通的&#xff0c;需要复杂的配置&#xff0c;不过在centOs里可以使用yum in…

HTML+CSS+JS实现 ❤️电商商品图片幻灯片特效❤️

效果演示&#xff1a; 代码目录&#xff1a; 主要代码实现&#xff1a; CSS样式&#xff1a; *, *::after, *::before {box-sizing: border-box; }html {background: #fff; }body {--color-text: #000;--color-bg: #fff;--color-link: #000;--color-link-hover: #858585;--col…