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 调试利器 Firebug使用详解六
Jul 05 Javascript
jQuery中jqGrid分页实现代码
Nov 04 Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
Apr 10 Javascript
js日期范围初始化得到前一个月日期的方法
May 05 Javascript
纯javascript实现分页(两种方法)
Aug 26 Javascript
jQuery元素选择器实例代码
Feb 06 Javascript
通俗易懂地解释JS中的闭包
Oct 23 Javascript
vue中如何创建多个ueditor实例教程
Nov 14 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
Aug 16 Javascript
Javascript Worker子线程代码实例
Feb 20 Javascript
js实现带箭头的进度流程
Mar 26 Javascript
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
jQuery zTree如何改变指定节点文本样式
2020/10/16 jQuery
Python文件处理
2016/02/29 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
Python的UTC时间转换讲解
2019/02/26 Python
python 修改本地网络配置的方法
2019/08/14 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
好矿嫂事迹材料
2014/01/21 职场文书
倡导文明标语
2014/06/16 职场文书
机械机修工岗位职责
2014/08/03 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
综治工作汇报材料
2014/10/27 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
生日祝酒词大全
2015/08/10 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
python异常中else的实例用法
2021/06/15 Python
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技