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 相关文章推荐
document.all还是document.getElementsByName?
Jul 21 Javascript
js判断浏览器类型的方法
Aug 07 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
javascript 对象数组根据对象object key的值排序
Mar 09 Javascript
JQuery替换DOM节点的方法
Jun 11 Javascript
jQuery实现复选框批量选择与反选的方法
Jun 17 Javascript
jQuery解析json格式数据简单实例
Jan 22 Javascript
js接收并转化Java中的数组对象的方法
Aug 11 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
Oct 14 Javascript
JavaScript异步加载问题总结
Feb 17 Javascript
vue结合axios与后端进行ajax交互的方法
Jul 06 Javascript
基于Vue实现微信小程序的图文编辑器
Jul 25 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 php_openssl.dll的作用
2013/07/01 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
PHP经典面试题集锦
2015/03/19 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
PHP实现简单的计算器
2020/08/28 PHP
Date对象格式化函数代码
2010/07/17 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
jQuery事件详解
2017/02/23 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
[02:27]刀塔重生降临
2015/10/14 DOTA
Python打印斐波拉契数列实例
2015/07/07 Python
python数据处理实战(必看篇)
2017/06/11 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
python-str,list,set间的转换实例
2018/06/27 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
买房子个人收入证明
2014/01/16 职场文书
医务人员自我评价
2014/01/26 职场文书
校长先进事迹材料
2014/02/01 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
酒店节能降耗方案
2014/05/08 职场文书
保护动物的标语
2014/06/11 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
七一活动主持词
2015/06/29 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL