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 相关文章推荐
newxtree.js代码
Mar 13 Javascript
ExtJS 2.0实用简明教程之应用ExtJS
Apr 29 Javascript
innerText和textContent对比及使用介绍
Feb 27 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
Jun 11 Javascript
jQuery实现的五子棋游戏实例
Jun 13 Javascript
JavaScript File API文件上传预览
Feb 02 Javascript
Bootstrap CSS组件之按钮下拉菜单
Dec 17 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
Sep 11 Javascript
JavaScript enum枚举类型定义及使用方法
May 15 Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 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提高网站效率的技巧
2015/09/29 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
jQuery.each使用详解
2015/07/07 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
node跨域请求方法小结
2017/08/25 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
python简单猜数游戏实例
2015/07/09 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
室内设计自我鉴定
2013/10/15 职场文书
外贸实习生自荐信范文
2013/11/24 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
老师对学生的评语
2014/04/18 职场文书
学校读书活动总结
2014/06/30 职场文书
幼儿园社区活动总结
2014/07/07 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
详解JAVA的控制语句
2021/11/11 Java/Android