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中链式调用之研习
Apr 07 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
Aug 07 Javascript
对之前写的jquery分页做下升级
Jun 19 Javascript
HTML,CSS,JavaScript速查表推荐
Dec 02 Javascript
jQuery+HTML5实现弹出创意搜索框层
Dec 29 Javascript
通过AngularJS实现图片上传及缩略图展示示例
Jan 03 Javascript
javascript基本数据类型和转换
Mar 17 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
Jul 24 Javascript
vue自定义全局组件(自定义插件)的用法
Jan 30 Javascript
js中时间格式化的几种方法
Jul 22 Javascript
vue中使用极验验证码的方法(附demo)
Dec 04 Javascript
jquery实现垂直手风琴导航栏
Feb 18 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
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
js DataSet数据源处理代码
2010/03/29 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
python 多线程实现检测服务器在线情况
2015/11/25 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
Python元字符的用法实例解析
2018/01/17 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
tornado+celery的简单使用详解
2019/12/21 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
开业庆典邀请函
2014/01/08 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
PHP获取学生成绩的方法
2021/11/17 PHP