js实现有趣的倒计时效果


Posted in Javascript onJanuary 19, 2021

js有趣的倒计时小案例,供大家参考,具体内容如下

js实现有趣的倒计时效果

代码:

<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    
    .wrap {
      overflow: hidden;
      width: 500px;
      height: 500px;
      background-color: #eeeeee;
      margin: 0 auto;
    }
    
    h2 {
      margin-top: 20px;
      text-align: center;
      color: #fff;
    }
    
    input {
      width: 70px;
    }
    
    .ipt {
      text-align: center;
      margin-top: 50px;
    }
    
    .run {
      width: 100px;
      height: 100px;
      background-color: #000;
      text-align: center;
      line-height: 100px;
      color: #fff;
      font-size: 30px;
      border-radius: 50%;
      margin: 30px auto 0;
    }
    
    .juli {
      text-align: center;
      margin-top: 30px;
    }
    
    .sytime {
      text-align: center;
      margin-top: 60px;
      font-size: 25px;
      color: #fff;
    }
    
    .sytime span {
      font-size: 30px;
      color: red;
    }
    
    .juli span {
      font-size: 18px;
      color: red;
    }
  </style>
</head>
 
<body>
  <div class="wrap">
    <h2>倒计时</h2>
    <!-- 表单 -->
    <div class="ipt">
      请输入: <input type="text">年<input type="text">月<input type="text">日
    </div>
    <!-- 开始按钮 -->
    <div class="run">开始</div>
    <!-- 距离时间 -->
    <p class="juli">现在距离-<span class="julitime">0000</span>-还剩:</p>
    <!-- 剩余时间 -->
    <div class="sytime">
      <span>00</span>天
      <span>00</span>小时
      <span>00</span>分
      <span>00</span>秒
    </div>
  </div>
  <script>
    // 获取元素
    // 表单
    var ipt = document.getElementsByTagName('input');
    // 按钮
    var btn = document.getElementsByClassName('run')[0];
    // 距离年份
    var julitime = document.getElementsByClassName('julitime')[0];
    // 倒计时
    var sytime = document.getElementsByClassName('sytime')[0];
    var time = sytime.getElementsByTagName('span');
    console.log(ipt, btn, julitime, time);
 
    var timerId = null;
    // 点击事件
 
    btn.onclick = function() {
      if (ipt[1].value > 12 || ipt[2].value > 30) {
        alert('月份要小于12且日要小于30');
        return;
      } else if (ipt[0].value.trim() == '' || ipt[1].value.trim() == '' || ipt[2].value.trim() == '') {
        alert('内容不能为空');
        return;
      }
      timerId = setInterval(countTime, 1000);
 
    }
 
 
 
    function countTime() {
      // 获取输入年份
      var ipty = ipt[0].value;
      // 获取输入月份
      var iptm = ipt[1].value;
      // 获取输入日份
      var iptd = ipt[2].value;
      // console.log(ipty, iptm, iptd);
      var str = ipty + '-' + iptm + '-' + iptd;
      // console.log(str);
      // 赋值给距离时间
      julitime.innerHTML = str;
      // 当前距离1970,1,1毫秒数
      var nowDate = +new Date();
      // 输入时间距离1970,1,1毫秒数
      var inputFr = +new Date(ipty + '-' + iptm + '-' + iptd)
        // 未来减去现在 秒数
      var times = (inputFr - nowDate) / 1000;
      var d = parseInt(times / 60 / 60 / 24) //天
      d = d < 10 ? '0' + d : d;
      var h = parseInt(times / 60 / 60 % 24) //时
      h = h < 10 ? '0' + h : h;
 
      var m = parseInt(times / 60 % 60); //分
      m = m < 10 ? '0' + m : m;
 
      var s = parseInt(times % 60); //秒
      s = s < 10 ? '0' + s : s;
 
      // console.log(d, h, m, s);
      time[0].innerHTML = d;
      time[1].innerHTML = h;
      time[2].innerHTML = m;
      time[3].innerHTML = s;
    }
  </script>
</body>
 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
巧妙破除网页右键禁用的十大绝招
Aug 12 Javascript
jscript之Read an Excel Spreadsheet
Jun 13 Javascript
分享几个超级震憾的图片特效
Jan 08 Javascript
jquery星级插件、支持页面中多次使用
Mar 25 Javascript
了不起的node.js读书笔记之node的学习总结
Dec 22 Javascript
JavaScript学习笔记之定时器
Jan 22 Javascript
究竟什么是Node.js?Node.js有什么好处?
May 29 Javascript
Augularjs-起步详解
Jul 08 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
Nov 05 Javascript
JS中的数组转变成JSON格式字符串的方法
May 09 Javascript
微信小程序全局变量功能与用法详解
Jan 22 Javascript
JavaScript实现消消乐的源代码
Jan 12 Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 #Javascript
从源码角度来回答keep-alive组件的缓存原理
Jan 18 #Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
Jan 18 #Javascript
vue-resource 拦截器interceptors使用详解
Jan 18 #Vue.js
js数组的基本使用总结
Jan 18 #Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
Jan 18 #Javascript
js加减乘除精确运算方法实例代码
Jan 17 #Javascript
You might like
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
夜大自我鉴定
2013/10/31 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
副董事长岗位职责
2014/04/02 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
详细分析PHP7与PHP5区别
2021/06/26 PHP
一条慢SQL语句引发的改造之路
2022/03/16 MySQL