`
阅读更多

JS定时器分两种

定时器(setTimeout延迟性一次定时器、setInterval反复性定时器)

 

【案例】

(1)反复性定时器,常用来刷新表单,对于一些表单的假实时指定时间刷新同步

<p class="count">0</p>
<script>  
	$(function(){
	    //反复性定时器,1秒发送一次
	      setInterval('alert()',1000);
	})
	//ajax请求方法
	function alert(){
	    //发送ajax请求
	    $.get("{:U('Stydy/stydy')}", function(data){
		  $('.count').html(Math.random()); 
	    });
	}
</script>

    查看效果:即可发现每一秒发送一次请求~~

                      所以每一秒换一次随机数

 

(2)一次性定时器

还是和上面大致相同,只是换了下方法

将setInterval换成setTimeout,浏览器查看效果即可发现,只发送一次请求

 

(3)循环和停止

使用一个变量 var timer = setInterval(fun,2000);

将setInterval赋值给一个变量,要停止的时候,只需要使用clearInterval(timer);即可停止上面的这个每个两秒循环执行fun的这个函数了。

<script>  
	$(function(){
		var timesRun = 0;
		var interval = setInterval(function(){
			timesRun += 1;
			if(timesRun == 10){
				clearInterval(interval);
			}
			//do whatever here..
			$('.count').html(Math.random());
		}, 1000);
	})
</script> 

 

 

 

 

【总结】

(1)执行次数

        setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数是一次。而setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式。所以,完全是不一样的

(2)使用方式

 

       很多人习惯于将setTimeout包含于被执行函数中,然后在函数外再次使用setTimeout来达到定时执行的目的。这样,函数外的setTimeout在执行函数时再次触发setTimeout从而形成周而复始的定时效果。使用的时候各有各的优势,使用setInterval,需要手动的停止tick触发。而使用方法中嵌套setTimeout,可以根据方法内部本身的逻辑不再调用setTimeout就等于停止了触发。其实两个东西完全可以相互模拟,具体使用那个,看当时的需要而定了。

 

分享下其他人的见解:

相同点:两个方法都是先触发间隔时间,再触发回调函数

(区别)

1.setInterval每隔指定的时间就执行一次表达式,若不停止会一直执行下去

而setTimeout在执行时,是在载入后延迟指定时间后,去执行一次表达式,次数仅为一次

2.将setTimeout包含于被执行函数中,然后在函数外再次使用setTimeout来达到定时执行的目的 

这样,函数外的setTimeout在执行函数时再次触发setTimeout从而形成周而复始的定时效果,但是

这样每次时间就相当于延迟时间+函数执行时间,时间越久,误差越大;

 

而setInterval是间隔时间去执行函数,并不会产生误差,setInterval适用于显示时间,精确度高

 

 

 

 

 

 

 

 

 

.

  • 大小: 36.4 KB
分享到:
评论

相关推荐

    定时器源码

    1. **定时器的分类** - **一次性定时器**:设定一个时间后,到达设定时间就触发一次事件。 - **周期性定时器**:每隔一定时间间隔重复触发事件,常用于心跳检测、轮询任务等场景。 - **可暂停/可恢复定时器**:...

    phpweb产品二级分类插件之JS伸缩特效模板

    此外,考虑到SEO(搜索引擎优化),在实现JS特效的同时,应确保没有JavaScript的环境下也能正常显示分类,以保证所有用户都能访问到内容。 【标签】"phpweb菜单"和"产品二级"明确指出了这个插件的核心功能。"phpweb...

    js左侧分类菜单图片轮播代码

    通过事件监听和定时器功能,JavaScript可以实现定时自动切换图片,同时允许用户通过点击按钮或使用键盘快捷键来手动切换。 接下来,让我们关注菜单部分。左侧分类菜单通常包含一系列的链接,这些链接指向不同的产品...

    金属分类购物信息JS网页导航条代码

    在“金属分类购物信息JS网页导航条代码”中,我们将探讨如何使用JavaScript(JS)语言来创建一个功能丰富的、适用于金属商品分类的购物网站导航条。 首先,JS导航条的核心在于动态交互性。JavaScript是一种客户端...

    常用新闻分类TAB选项卡js特效.zip

    这个"常用新闻分类TAB选项卡js特效.zip"资源可能包含了实现上述功能的完整代码和示例,解压后可直接应用于项目中,或作为学习JavaScript交互效果的一个起点。通过理解和修改这些代码,你可以根据自己的需求定制个性...

    02-javaWeb-css$js.7z

    分类 框模型(理解) 扩展: 颜色取值 javascript JS的输出 js和html整合 js中变量声明 js的数据类型 js:事件驱动函数 函数定义——1 js中的事件 js事件和函数的绑定——1 js获取元素 简单表单校验案例 ...

    【JavaScript源代码】Javascript中函数分类&this指向的实例详解.docx

    本文将通过具体的示例来探讨JavaScript中的函数分类以及`this`指向的规则,并介绍如何改变`this`指向的三种方法。 #### 二、函数分类 根据不同的使用场景和定义方式,JavaScript中的函数大致可以分为以下几类: 1....

    [js效果]商品分类到搜索栏友好提示

    本文主要涉及的是一个使用JavaScript实现的动态效果,即商品分类到搜索栏的友好提示。这个效果主要是让一个方框(商品分类)按照指定的速度和路径移动到搜索栏的位置,以此来提供用户友好的交互体验。下面将详细解释...

    简单的JavaScript特效

    在描述中提到的"刚学JavaScript时自己写的一些简单特效",这可能是指开发者在学习初期通过编写代码来实践JavaScript的基本语法和特性,例如DOM操作、事件处理、定时器函数setTimeout或setInterval、CSS样式修改等。...

    js页面刷新大全

    本文将对 JS 页面刷新的方法进行分类和总结,涵盖自动刷新和手动刷新两种方式,并对当前页面和父页面的刷新进行详细讲解。 一、自动刷新 自动刷新是指在不需要用户干预的情况下,页面自动刷新的方式。常见的自动...

    JavaScript实例自学手册

    JavaScript,简称JS,是一种广泛应用于Web开发的轻量级解释型编程语言,它主要负责网页的动态效果和交互性。通过学习JavaScript,你可以创建动态网页,实现用户与页面的实时互动,如表单验证、动画效果、数据处理等...

    仿天猫分类导航banner切换代码.zip

    仿天猫分类导航banner切换代码是电商网站中常见的一种设计元素,用于吸引用户的注意力并方便他们快速浏览和选择商品类别。这种切换效果不仅提升了用户体验,也增加了网站的视觉吸引力。在这个项目中,我们将深入探讨...

    JavaScript高频面试题.docx

    14. 定时器的分类:间歇执行(setInterval)和延迟执行(setTimeout),它们的区别及用法是:间歇执行重复执行,隔某个时间就执行一次,只要开启就不会自己停,可以做轮播、倒计时;延迟执行只执行一次,延迟某个特定的...

    JS高级效果 适合初学者

    这涉及到CSS的定位和JS的定时器函数,如`setInterval`。 5. **向上滚动的文字**:这个效果可能利用了CSS的`transform`属性和JS的动画功能,使文字或内容从底部向上滚动进入视线,常用于公告或滚动新闻。 6. **作业...

    js仿视频网站文字弹幕动画代码.zip

    标签“JS特效-其它代码”意味着这个代码库属于JavaScript特效类别,但并不特定于某个常见的特效类型,如滑动、旋转等,而是属于“其他”分类,可能包含了一些独特的或者自定义的动画效果。这表明代码可能采用了非...

    js绝对经典特效集合01

    【标签】"js绝对经典特效集合01"是这个资源的标识,便于分类和搜索。标签通常用于概括文件的主要内容,使得相关人员能够快速了解文件所包含的知识点。 【压缩包子文件的文件名称列表】中的两个文件: 1. "字体颜色...

    600套JavaScript案例低分分享

    随着对JavaScript的深入,学习者还可以接触到Web API,如定时器、地理位置API、存储API等,以及前端框架(如React、Vue、Angular等)的应用。 总的来说,"600套JavaScript案例低分分享" 是一个全面且系统的实践平台...

    小米官网带分类jQuery幻灯片.zip

    【标题】"小米官网带分类jQuery幻灯片.zip"是一个包含JavaScript特效的资源包,主要应用于网站中的焦点或幻灯图展示。这个幻灯片设计灵感来源于小米官网,集成了左右箭头操作、分类菜单以及自动轮播切换等功能,旨在...

    996个css和JavaScript的例子代码

    7. 动画与过渡:结合CSS3的动画和JavaScript的定时器,创建各种动态效果。 8. 事件处理:涵盖鼠标、键盘、触摸等事件的监听和处理。 这个资源包对于学习和提升前端技能非常有价值,你可以逐个研究这些例子,理解...

Global site tag (gtag.js) - Google Analytics