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 相关文章推荐
用cookies实现的可记忆的样式切换效果代码下载
Dec 24 Javascript
12个非常有创意的JavaScript小游戏
Mar 18 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
Sep 14 Javascript
30个最好的jQuery 灯箱插件分享
Apr 25 Javascript
js数组的基本操作(很全自己整理的)
Oct 16 Javascript
jquery验证手机号是否正确实例讲解
Nov 17 Javascript
js获取上传文件的绝对路径实现方法
Aug 02 Javascript
js 自带的sort() 方法全面了解
Aug 16 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
Jan 03 Javascript
chosen实现省市区三级联动
Aug 16 Javascript
Vue组件创建和传值的方法
Aug 17 Javascript
详解vue2.0模拟后台json数据
May 16 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
js脚本学习 比较实用的基础
2006/09/07 Javascript
jquery $.ajax入门应用二
2008/11/19 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
JSON格式化输出
2014/11/10 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
.net C#面试题
2012/08/28 面试题
团员的自我评价
2013/12/01 职场文书
大学系主任推荐信范文
2013/12/24 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
幼师辞职信范文
2015/02/27 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers