js实现内置计时器


Posted in Javascript onDecember 16, 2019

计时器对于图片轮播和倒计时之类的与时间相关的项目有着很大的联系,它是实现这些的核心语法,如何一次深刻理解js计时器?往下看你就知道,有惊喜哦!

js计时器有两种,一种为延时后单次的执行,另一种为延时多次执行。通过函数的递归,前者也可以打破壁垒,拥有循环执行的功能。

setTimeout(  javascript语句  , 毫秒);
(其中第一个值可以是一个函数  需要加" ",也可以是代码)

//延迟一段时间 执行 执行一次

 setInterval("javascript语句"  , 毫秒);
(其中第一个值可以是一个函数  需要加" ",也可以是代码)

 //循环执行

具体实例 (一些细节和具体的用法还是在案例代码中便于理解)

<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>计时器</title>
  </head>
 
<body>
  <button id="none">停止计时器</button>
  <button id="start">开始计时器</button>
  <script>
    // 有两个计时器
    // setTimeout();
    // 延迟一段时间 执行 执行一次
    // setInterval();
    // 循环执行
    var stoptime=document.getElementById('none');//默认从零开始自加 获取开始按钮
    var starttime=document.getElementById('start');//获取停止按钮
    var count=0;
    var timecount;
    // 第一种
    /*showtime();
    function showtime(){
      count++;
      console.log(count);
      timecount=setTimeout('showtime()',1000);//延时一秒
    }//利用递归来实现循环时间
    stoptime.onclick=function(){//停止计时器
      clearTimeout(timecount);//将计时器清除,即停止自加
    }
    starttime.onclick=function(){//开始计时器
      timecount=setTimeout('showtime()',1000);//继续开始自加
    }*/
//优点:重启计时器简单,由于是原本是单次执行,只需将之前的递归函数重新复制即可 缺点:需要递归调用
    // 第二种
    showtime();
    function showtime(){//封装函数
      timecount=setInterval(function(){
        count++;
        console.log(count);
      },1000)
    }
    stoptime.onclick=function(){
      clearInterval(timecount);
    }
    starttime.onclick=function(){
      showtime();
    }
//优点:不需要递归调用,直接实现循环。缺点:重启较复杂,需要调用所有函数,建议封装函数。
  </script>
</body>
 
</html>

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

Javascript 相关文章推荐
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
Apr 20 Javascript
javascript中的有名函数和无名函数
Oct 17 Javascript
js+xml生成级联下拉框代码
Jul 24 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
Jun 24 Javascript
JS动态添加iframe的代码
Sep 14 Javascript
不能不知道的10个angularjs英文学习网站
Mar 23 Javascript
网页中右键功能的实现方法之contextMenu的使用
Feb 20 Javascript
基于JavaScript实现弹幕特效
Aug 27 Javascript
从零开始搭建webpack+react开发环境的详细步骤
May 18 Javascript
vue实现点击选中,其他的不选中方法
Sep 05 Javascript
微信小程序如何访问公众号文章
Jul 08 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
Jul 23 Javascript
js实现秒表计时器
Dec 16 #Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
Dec 16 #Javascript
js实现计时器秒表功能
Dec 16 #Javascript
原生Vue 实现右键菜单组件功能
Dec 16 #Javascript
axios如何取消重复无用的请求详解
Dec 15 #Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
Dec 15 #Javascript
Angular6项目打包优化的实现方法
Dec 15 #Javascript
You might like
php创建sprite
2014/02/11 PHP
PHP 正则表达式小结
2015/02/12 PHP
php header函数的常用http头设置
2015/06/25 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
JS 遮照层实现代码
2010/03/31 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
学习JavaScript设计模式之观察者模式
2020/04/22 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
python可视化实现代码
2019/01/15 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
结构工程个人自荐信范文
2013/11/30 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
2015年复活节活动总结
2015/02/27 职场文书
我爱我班主题班会
2015/08/13 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android