杨老师课堂之JavaScript定时器_农夫山泉限时秒杀案例

简介: 预览效果图: 使用到的知识点:  定时器 setInterval(函数,毫秒):在指定的毫秒数后调用函数或执行一段代码  取消定时器 clearInterval:取消由setInterval设置的定时器  函数(日期函数、parseInt函数)    parseInt()函数 :可解析一...

预览效果图:

 

使用到的知识点:

  定时器 setInterval(函数,毫秒):在指定的毫秒数后调用函数或执行一段代码

  取消定时器 clearInterval:取消由setInterval设置的定时器

  函数(日期函数、parseInt函数)

    parseInt()函数 :可解析一个字符串,并返回一个整数

示例代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
    <!--
        需求:
        电子商务网站中,商家为了促销商品而策划一些活动,刺激消费者进行盲目消费  限时秒杀就是其中一种手段。
     本次我们模拟的商品是 农夫山泉限时秒杀抢购
--> <title>农夫山泉限时秒杀</title> <!--CSS代码:--> <style type="text/css"> .box{ /*外围的大盒子样式*/ width: 702px;/*宽度702像素*/ height: 378px;/*高度378像素*/ background: url(../img/flash_sale.png);/*背景图片*/ margin: 0 auto;/*上下为0 水平居中*/ } .box div{ /*外围的大盒子内部的小盒子样式*/ width: 50px; /*宽度50像素*/ height: 50px;/*高度50像素*/ border: 1px solid darkgray;/*边界线1像素 实线 浅灰色*/ position: relative; /*使用相对定位*/ top: 260px; /*相对定位顶部距离260像素*/ float: left; /*使小盒子左浮动*/ left:305px ; /*相对定位左侧距离305像素*/ margin-left: 5px; /*两个小盒子之间空出5px*/ color: red; /*字体颜色为红色*/ text-align: center; /*字体居中显示*/ line-height: 50px; /*字体行高50像素*/ } </style> </head> <body> <!--外围的大盒子--> <div class="box"> <!--剩余的天数--> <div id="d"></div> <!--剩余的小时--> <div id="h"></div> <!--剩余的分钟--> <div id="m"></div> <!--剩余的秒数--> <div id="s"></div> </div> </body> </html> <!--JavaScript代码:--> <script type="text/javascript"> //设置秒杀结束时间 var endTime = new Date("2018-05-18 09:29:00"); //把年月日时分秒的时间转换成为毫秒数 endSeconds = endTime.getTime();//结束时间的毫秒数 //定义变量 天数 小时 分钟 秒数 var d = h = m = s = 0; //设置定时器 实现一个秒杀效果 var timer = setInterval(qiang,1000); function qiang(){ // 获取当前系统时间 var nowTime = new Date(); // 获取当前时间差---nowTime.getTime()现在时间的毫秒数 var remain = parseInt((endSeconds-nowTime.getTime())/1000); //判断秒杀是否过期 if(remain>0){ //1.计算剩余天数 (除以60*60*24 取整数 获取剩余天数) d = parseInt(remain/86400) //2.计算剩余小时(除以60*60 转换成为小时了 与24进行取模 获取剩余小时) h = parseInt((remain/3600) % 24); //3.计算剩余分钟(除以60 转换成为分钟了 与60进行取模 获取剩余分钟) m = parseInt((remain/60) % 60); //4.计算剩余秒数(与60进行取模 获取剩余秒数) s = parseInt((remain) % 60); //统一利用两位数 表示 剩余的天、小时、分钟、秒 d= d < 10 ? '0' + d:d; h= h < 10 ? '0' + h:h; m= m < 10 ? '0' + m:m; s= s < 10 ? '0' + s:s; }else{ // 秒杀过期 取消定时器 clearInterval(timer); d = h = m = s = '00' } //将剩余的天数、小时、分钟、秒 小时到指定网页中去 document.getElementById("d").innerHTML = d + '天'; document.getElementById("h").innerHTML = h + '时'; document.getElementById("m").innerHTML = m + '分'; document.getElementById("s").innerHTML = s + '秒'; } </script>

图片素材

 

分割线 
作者: 杨校

出处: https://www.cnblogs.com/xiaoxiao5016/

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(397583050@qq.com)咨询。

目录
打赏
0
0
0
0
11
分享
相关文章
深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解
Array.find() 是 JavaScript 数组方法中一个非常实用和强大的工具。它不仅提供了简洁的查找操作,还具有性能上的独特优势:返回的引用能够直接影响原数组的数据内容,使得数据更新更加高效。通过各种场景的展示,我们可以看到 Array.find() 在更新、条件查找和嵌套结构查找等场景中的广泛应用。 在实际开发中,掌握 Array.find() 的特性和使用技巧,可以让代码更加简洁高效,特别是在需要直接修改原数据内容的情形。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
40个JS常用使用技巧案例
大家好,我是V哥。在日常开发中,JS是解决页面交互的利器。V哥总结了40个实用的JS小技巧,涵盖数组操作、对象处理、函数使用等,并附带案例代码和解释。从数组去重到异步函数,这些技巧能显著提升开发效率。先赞再看后评论,腰缠万贯财进门。关注威哥爱编程,全栈开发就你行!
92 16
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
79 0
JavaScript基础-定时器:setTimeout, setInterval
【6月更文挑战第13天】JavaScript中的`setTimeout`和`setInterval`是异步编程的关键工具,用于按计划执行代码。`setTimeout`在延迟后执行一次,而`setInterval`则周期性执行。常见问题包括忘记清除定时器导致内存泄漏,递归使用`setTimeout`可能引发无限递归,以及字符串代码执行的安全隐患。解决方法包括使用`clearTimeout`和`clearInterval`,设置递归终止条件,以及优先使用函数表达式。理解定时器的非精确性并采用错误处理策略也是实践中的重要技巧。通过示例展示了如何延迟显示消息和周期性打印计数。
163 2
js 定时器用法详解——setTimeout()、setInterval()、clearTimeout()、clearInterval()
写在前面: 在js应用中,定时器的作用就是可以设定当到达一个时间来执行一个函数,或者每隔几秒重复执行某段函数。这里面涉及到了三个函数方法:setInterval()、setTimeout()、clearInterval(),本文将围绕这三种函数的用法,来实现定时器的功能,需要的朋友可以过来参考下,喜欢的可以点波赞,或者关注一下本人,希望对大家有所帮助。 定时器的应用需求: 1.设定一个时间,当时间到达的时候执行函数————比如:倒计时跳转页面等等。 2.每隔一段时间重复执行某段函数————比如抢票软件,比如设定500毫秒就重复刷新一次页面等等。 倒计时跳转实现demo:
703 0
js 定时器用法详解——setTimeout()、setInterval()、clearTimeout()、clearInterval()
js中两种定时器,setTimeout和setInterval的区别
js中两种定时器,setTimeout和setInterval的区别
120 0
Javascript定时器(三)——setTimeout(func, 0)
setTimeout(func, 0)可以使用在很多地方,拆分循环、模拟事件捕获、页面渲染等
Javascript定时器(三)——setTimeout(func, 0)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等