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 相关文章推荐
JS俄罗斯方块,包含完整的设计理念
Dec 11 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
Nov 17 Javascript
css结合js制作下拉菜单示例代码
Feb 27 Javascript
用js编写的简单的计算器代码程序
Aug 04 Javascript
深入解析Javascript闭包的功能及实现方法
Jul 10 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
Jul 24 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
Node.js + Redis Sorted Set实现任务队列
Sep 19 Javascript
基于JavaScript实现微信抢红包功能
Jul 20 Javascript
mongoose更新对象的两种方法示例比较
Dec 19 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
Aug 13 jQuery
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
Oct 15 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 静态化实现代码
2009/03/20 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
php连接Access数据库错误及解决方法
2013/06/20 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
php过滤敏感词的示例
2014/03/31 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
使用Turtle画正螺旋线的方法
2017/09/22 Python
详解Python if-elif-else知识点
2018/06/11 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
美国网上订购鲜花:FTD
2016/09/23 全球购物
餐饮业的创业计划书范文
2013/12/26 职场文书
总经理秘书工作职责
2013/12/26 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript
mysql 获取相邻数据项
2022/05/11 MySQL