JavaScript实现前端网页版倒计时

使用原生JavaScript简单实现倒计时,供大家参考,具体内容如下

Posted in Javascript onMarch 24, 2021

效果

JavaScript实现前端网页版倒计时

代码

// An highlighted block
<!DOCTYPE html>
<html>
 
<head>
 <meta charset="utf-8">
 <title></title>
 
 <!-- css样式 -->
 <style type="text/css">
  * {
   margin: 0;
   padding: 0;
  }
 
  .onsell {
   height: 400px;
   width: 200px;
   border: 1px solid #F2F2F2;
   margin: 10px;
   box-shadow: 1px 2px 4px rgba(0, 0, 0, .2);
  }
 
  .box {
   /* display: none; */
   float: left;
   margin: 328px 34px 0;
  }
 
  .box div {
   position: relative;
   display: inline-block;
   width: 40px;
   height: 40px;
   background-color: #333;
   color: #fff;
   font-size: 20px;
   text-align: center;
   line-height: 40px;
   box-shadow: 1px 2px 4px rgba(0, 0, 0, .4);
  }
 </style>
 
</head>
 
<body>
 <!-- 要求:某商品在将来某一天进行促销一天,利用js制作倒计时效果: 时:分:秒 -->
 <div class="onsell">
  <div class="box">
   <div class="hour">00</div>
   <div class="minutes">00</div>
   <div class="seconds">00</div>
  </div>
 </div>
</body>
 
</html>
<script>
 window.onload = function () {
  let hour = document.querySelector('.hour')
  let minutes = document.querySelector('.minutes')
  let seconds = document.querySelector('.seconds')
 
  // 倒计时的时间戳 使用+将时间对象转为时间戳 等同于Date.now()
  let wantTime = +new Date('2021-3-17 18:00:00')
  countTime()
 
  let timer = setInterval(() => {
   countTime()
  }, 1000)
 
  function countTime() {
   let currentTime = +new Date()
   if (wantTime >= currentTime) {
    let times = (wantTime - currentTime) / 1000 // 总秒数 时间戳/1000 = 秒
    let remainDay = parseInt(times / 60 / 60 / 24) // 余数取整就是剩余的天数
    console.log(remainDay);
    if (remainDay === 0) {
     if(times < 1) {
     // 倒计时完毕
     // 这里触发操作
     }
     // 天数小于一天开始计时
     setTime(times)
    }
   } else {
    hour.innerHTML = '00'
    minutes.innerHTML = '00'
    seconds.innerHTML = '00'
   }
  }
 
 
  function setTime(time) {
 
   // 粗糙版
   let s = parseInt(time % 60)
   s = s < 10 ? '0' + s : s
   let m = parseInt(time / 60 % 60)
   m = m < 10 ? '0' + m : m
   let h = parseInt(time / 60 / 60 % 24)
   h = h < 10 ? '0' + h : h
   hour.innerHTML = h
   minutes.innerHTML = m
   seconds.innerHTML = s
 
  }
 
 }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
javascript 主动派发事件总结
Aug 09 Javascript
JQueryEasyUI datagrid框架的进阶使用
Apr 08 Javascript
jquery实现弹出层遮罩效果的简单实例
Mar 03 Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 Javascript
js基于cookie记录来宾姓名的方法
Jul 19 Javascript
给localStorage设置一个过期时间的方法分享
Nov 06 Javascript
vue + element-ui的分页问题实现
Dec 17 Javascript
微信小程序中如何使用flyio封装网络请求
Jul 03 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
Nov 18 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
Jul 11 Javascript
JavaScript 实现继承的几种方式
Feb 19 Javascript
JavaScript执行机制详细介绍
Dec 06 Javascript
vue路由实现登录拦截
vue项目实现分页效果
Mar 24 #Vue.js
jQuery treeview树形结构应用
Mar 24 #jQuery
js实现弹框效果
Mar 24 #Javascript
vue实现倒计时功能
Mar 24 #Vue.js
Ajax实现页面无刷新留言效果
利用promise及参数解构封装ajax请求的方法
You might like
探讨方法的重写(覆载)详解
2013/06/08 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
jquery解析JSON数据示例代码
2014/03/17 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
python魔法方法-自定义序列详解
2016/07/21 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
基于opencv实现简单画板功能
2020/08/02 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
给市场的环保建议书
2014/05/14 职场文书
酒店节能减排方案
2014/05/26 职场文书
横幅标语大全
2014/06/17 职场文书
2014年收银工作总结
2014/11/13 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
Python进度条的使用
2021/05/17 Python
分享Python异步爬取知乎热榜
2022/04/12 Python