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全排列的六种算法 具体实现
Jun 29 Javascript
jquery动态增加删除表格行的小例子
Nov 14 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
Oct 11 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
基于vue-resource jsonp跨域问题的解决方法
Feb 03 Javascript
node实现的爬虫功能示例
May 04 Javascript
js中apply()和call()的区别与用法实例分析
Aug 14 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
jquery 验证用户名是否重复代码实例
May 14 jQuery
javascript删除数组元素的七个方法示例
Sep 09 Javascript
layui 富文本赋值,取值,取纯文本值的实例
Sep 18 Javascript
vue如何在项目中调用腾讯云的滑动验证码
Jul 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下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
php设计模式之委托模式
2016/02/13 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
jQuery队列操作方法实例
2014/06/11 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
Python中的CURL PycURL使用例子
2014/06/01 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
python实现按行切分文本文件的方法
2016/04/18 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
python中实现k-means聚类算法详解
2017/11/11 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
Python字典dict常用方法函数实例
2020/11/09 Python
应届生会计电算化求职信
2013/10/03 职场文书
个人求职信范文分享
2013/12/13 职场文书
新年晚会主持词
2014/03/24 职场文书
保险内勤岗位职责
2014/04/05 职场文书
学生自我评语大全
2014/04/18 职场文书
仓库管理制度范本
2015/08/04 职场文书