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 相关文章推荐
jquery随意添加移除html的实现代码
Jun 21 Javascript
location对象的属性和方法应用(解析URL)
Apr 12 Javascript
不使用浏览器运行javascript代码的方法
Jul 24 Javascript
JS 在指定数组中随机取出N个不重复的数据
Jun 10 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
Sep 01 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
Mar 01 Javascript
jQuery基于Ajax实现读取XML数据功能示例
May 31 jQuery
vue-cli项目配置多环境的详细操作过程
Oct 30 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 Javascript
vue移动端的左右滑动事件详解
Jun 17 Javascript
Js on及addEventListener原理用法区别解析
Jul 11 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
怎么使 Mysql 数据同步
2006/10/09 PHP
PHP关联链接常用代码
2012/11/05 PHP
php四种基础算法代码实例
2013/10/29 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
Vue核心概念Getter的使用方法
2019/01/18 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
跟老齐学Python之一个免费的实验室
2014/09/14 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
python 对xml解析的示例
2021/02/27 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
森林防火工作方案
2014/02/14 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
《风筝》教学反思
2014/04/10 职场文书
大学学风建设方案
2014/05/04 职场文书
运动会入场口号
2014/06/07 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
驾驶员管理制度范本
2015/08/06 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript