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 相关文章推荐
javascript 触发事件列表 比较不错
Sep 03 Javascript
解决jquery插件冲突的问题
Jan 23 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
Jun 22 Javascript
jQuery实现动态添加和删除一个div
Aug 12 Javascript
easy ui datagrid 从编辑框中获取值的方法
Feb 22 Javascript
ReactNative实现图片上传功能的示例代码
Jul 11 Javascript
Angular4学习笔记之根模块与Ng模块
Sep 09 Javascript
React diff算法的实现示例
Apr 20 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
Sep 27 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
Sep 20 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几个数学计算的内部函数学习整理
2011/08/06 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
高效率JavaScript编写技巧整理
2013/08/23 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
2015/10/15 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
2018/12/20 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
Python 随机生成中文验证码的实例代码
2013/03/20 Python
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
Python实现的txt文件去重功能示例
2018/07/07 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
2018/10/21 Python
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
Python数据类型之Set集合实例详解
2019/05/07 Python
python顺序执行多个py文件的方法
2019/06/29 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
pytorch中的inference使用实例
2020/02/20 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
中医药大学毕业生自荐信
2013/11/08 职场文书
大学运动会通讯稿
2014/01/28 职场文书
房屋出租协议书
2014/04/10 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python