Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
Draft
Countdown
Hours
2
2
2
2
4
4
4
4
Minutes
0
0
0
0
0
0
0
0
Seconds
0
0
0
0
0
0
0
0
css
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 0.94em "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; }
JavaScript
// Create Countdown var Countdown = { // Backbone-like structure $el: $('.countdown'), // Params countdown_interval: null, total_seconds : 0, // Initialize the countdown init: function() { // DOM this.$ = { 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 values this.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 seconds this.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 // Hours that.checkHour(that.values.hours, $hour_1, $hour_2); // Minutes that.checkHour(that.values.minutes, $min_1, $min_2); // Seconds that.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 animate TweenMax.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 changed if(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 0 if(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();
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>反转动画倒计时-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号