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 相关文章推荐
用 JSON 处理缓存
Apr 27 Javascript
Javascript 面向对象(三)接口代码
May 23 Javascript
js判断iframe内的网页是否滚动到底部触发事件
Mar 18 Javascript
js中精确计算加法和减法示例
Mar 28 Javascript
完美解决JS文件页面加载时的阻塞问题
Dec 18 Javascript
assert()函数用法总结(推荐)
Jan 25 Javascript
Vue中fragment.js使用方法详解
Mar 09 Javascript
jQuery上传插件webupload使用方法
Aug 01 jQuery
利用JS做网页特效_大图轮播(实例讲解)
Aug 09 Javascript
ES6小技巧之代替lodash
Jun 07 Javascript
JS阻止事件冒泡的方法详解
Aug 26 Javascript
搭建vscode+vue环境的详细教程
Aug 31 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
2016/11/05 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
jquery 选择器部分整理
2009/10/28 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
python基础教程之序列详解
2014/08/29 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
Python类属性的延迟计算
2016/10/22 Python
python进程和线程用法知识点总结
2019/05/28 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
python定义类self用法实例解析
2020/01/22 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
《母亲的恩情》教学反思
2014/02/13 职场文书
关于安全的演讲稿
2014/05/09 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
银行柜员工作心得体会
2016/01/23 职场文书