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 相关文章推荐
List Installed Hot Fixes
Jun 12 Javascript
在Javascript里访问SharePoint列表数据的实现方法
May 22 Javascript
关于vue.js弹窗组件的知识点总结
Sep 11 Javascript
JavaScript队列的应用实例详解【经典数据结构】
Apr 12 Javascript
JavaScript如何获取到导航条中HTTP信息
Oct 10 Javascript
详解React开发必不可少的eslint配置
Feb 05 Javascript
vue实现自定义日期组件功能的实例代码
Nov 06 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
Dec 13 Javascript
Vue 动态组件与 v-once 指令的实现
Feb 12 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
Sep 05 Javascript
微信小程序 行的删除和增加操作实现详解
Sep 29 Javascript
vue样式穿透 ::v-deep的具体使用
Jun 04 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
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
2018/04/27 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
一个基于flask的web应用诞生(1)
2017/04/11 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
DJI全球:DJI Global
2021/03/15 全球购物
大学生自我鉴定
2013/12/16 职场文书
回门宴答谢词
2014/01/13 职场文书
《都江堰》教学反思
2014/02/07 职场文书
洗发水广告词
2014/03/13 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
个人培训总结
2015/03/05 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
详解CSS3浏览器兼容
2022/12/24 HTML / CSS