JQuery仿小米手机抢购页面倒计时效果


Posted in Javascript onDecember 16, 2014

1、效果及功能说明

通过对时间的控制来告诉用户一个活动还剩多少时间,精确到秒。

2、实现原理

首先定义活动的截至的时间,要重年份精确到毫秒,在获得当前的年份到秒钟,在用截至时间,减去现在的时间,剩下的还有多少的时间就把还剩下的时间给显示出来就得出了离截止日期还有多久。

主要代码

var startTime = new Date();

//获得当前的时间

startTime.setFullYear(2016, 5, 27);

//调用设置年份

startTime.setHours(23);

//调用设置指定的时间的小时字段

startTime.setMinutes(59);

//调用设置指定时间的分钟字段

startTime.setSeconds(59);

//调用设置指定时间的秒钟字段

startTime.setMilliseconds(999);

//调用置指定时间的毫秒字段

var EndTime=startTime.getTime();

//获得截至的时间

var nMS = EndTime - NowTime.getTime();

//截至时间减去当前时间获得剩余时间

var nD = Math.floor(nMS/(1000 * 60 * 60 * 24));

//定义参数 获得天数

var nH = Math.floor(nMS/(1000*60*60)) % 24;

//定义参数 获得小时

var nM = Math.floor(nMS/(1000*60)) % 60;

//定义参数 获得分钟

var nS = Math.floor(nMS/1000) % 60;

//定义参数 获得秒钟 这些就是当前时间

3、运行环境
IE6 IE7 IE8及以上 Firefox 和 Google
Chrome游览器下都可实现

4、所有图片的压缩包新建一个文件后将包解压放进文件夹图片的压缩包在页面的最下方可以看到并下载下载后无需修改文件夹名因为本身就已经写好了和html5内的路径相吻合

5、将创建html文件保存的时候将编码类型换成(UTF-8有签名)这样可以让部分中文正常的显示出来,将保存类型(T)换成(所有文件(*.*)),将html5和解压后的图片文件夹放在同一个文件夹内效果

6、代码

<!DOCTYPE html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>

<style type="text/css">

*{margin:0;padding:0;list-style-type:none;}

a,img{border:0;}

body{font:12px/180%;background:#fff;}

.timerbg{background:url(images/bg.png) no-repeat;height:60px;width:980px;margin:20px auto;}

.timerbg div{float:right;font-size:16px;margin:24px 0 0 0;font-weight:800;text-align:left;width:335px;font-family:"微软雅黑","宋体";}

.timerbg div strong{font-size:28px;margin:0 13px;color:#D6000F;font-family:Arial;}

#daoend{margin:24px 0 0 0;width:324px;color:#D6000F;font-size:22px;}

</style>

</head>

<body>

    <div class="timerbg">

        <div id="daoend" style="display:none;">本次活动已结束。</div>

        <div id="dao"><strong id="RemainD"></strong>天<strong id="RemainH"></strong>时<strong id="RemainM"></strong>分<strong id="RemainS"></strong>秒</div>

    </div>

    <script type="text/javascript">

    var startTime = new Date();

    //定义参数可返回当天的日期和时间

    startTime.setFullYear(2016, 5, 27);

    //调用设置年份

    startTime.setHours(23);

    //调用设置指定的时间的小时字段

    startTime.setMinutes(59);

    //调用设置指定时间的分钟字段

    startTime.setSeconds(59);

    //调用设置指定时间的秒钟字段

    startTime.setMilliseconds(999);

    //调用置指定时间的毫秒字段

    var EndTime=startTime.getTime();

    //定义参数可返回距 1970 年 1 月 1 日之间的毫秒数

    function GetRTime(){

    //定义方法

        var NowTime = new Date();

        //定义参数可返回当天的日期和时间

        var nMS = EndTime - NowTime.getTime();

        //定义参数 EndTime减去NowTime参数获得返回距 1970 年 1 月 1 日之间的毫秒数

        var nD = Math.floor(nMS/(1000 * 60 * 60 * 24));

        //定义参数 获得天数

        var nH = Math.floor(nMS/(1000*60*60)) % 24;

        //定义参数 获得小时

        var nM = Math.floor(nMS/(1000*60)) % 60;

        //定义参数 获得分钟

        var nS = Math.floor(nMS/1000) % 60;

        //定义参数 获得秒钟

        if (nMS < 0){

        //如果秒钟大于0

            $("#dao").hide();

            //获得天数隐藏

            $("#daoend").show();

            //获得活动截止时间展开

        }else{

        //否则

           $("#dao").show();

           //天数展开

           $("#daoend").hide();

           //活动截止时间隐藏

           $("#RemainD").text(nD);

           //显示天数

           $("#RemainH").text(nH);

           //显示小时

           $("#RemainM").text(nM);

           //显示分钟

           $("#RemainS").text(nS); 

           //显示秒钟

        }

    }

    $(document).ready(function () {

    //定义方法

        var timer_rt = window.setInterval("GetRTime()", 1000);

        //定义参数 显示出GetRTime()方法 1000毫秒以后启动

    });

    </script>

</body>

</html>

7、倒计时完成后,设置按钮的hidden属性为false,简单吧~

本代码是从本人项目中截取出来的,小伙伴们可以放心使用,如有疑问,请留言。

Javascript 相关文章推荐
分享20多个很棒的jQuery 文件上传插件或教程
Sep 04 Javascript
使用js检测浏览器的实现代码
May 14 Javascript
JS创建类和对象的两种不同方式
Aug 08 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
图文详解JavaScript的原型对象及原型链
Aug 02 Javascript
jQuery实现产品对比功能附源码下载
Aug 09 Javascript
JavaScript实现打地鼠小游戏
Apr 23 Javascript
Vue精简版风格概述
Jan 30 Javascript
vue组件传递对象中实现单向绑定的示例
Feb 28 Javascript
vue实现底部菜单功能
Jul 24 Javascript
JS判断数组里是否有重复元素的方法小结
May 21 Javascript
Vue-Element-Admin集成自己的接口实现登录跳转
Jun 23 Vue.js
jQuery实现数字加减效果汇总
Dec 16 #Javascript
javascript使用switch case实现动态改变超级链接文字及地址
Dec 16 #Javascript
浅谈Javascript变量作用域问题
Dec 16 #Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
Dec 16 #Javascript
javascript arguments使用示例
Dec 16 #Javascript
javascript实现日期格式转换
Dec 16 #Javascript
javascript实现禁止复制网页内容
Dec 16 #Javascript
You might like
十天学会php之第三天
2006/10/09 PHP
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
php include的妙用,实现路径加密
2008/07/29 PHP
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
three.js 入门案例详解
2018/01/23 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
python一键升级所有pip package的方法
2017/01/16 Python
Python3计算三角形的面积代码
2017/12/18 Python
手把手教你python实现SVM算法
2017/12/27 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
武汉高蓝德国际.net机试
2016/06/24 面试题
某公司C#程序员面试题笔试题
2014/05/26 面试题
宣传普通话标语
2014/06/27 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
学校体育节班级口号
2015/12/25 职场文书
Java实现多线程聊天室
2021/06/26 Java/Android
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis
mysql查询结果实现多列拼接查询
2022/04/03 MySQL
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL