js setTimeout 与 setInterval 以及 for 循环 刷新UI
1. setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式;执行一次;
如果需要执行多次,自身再次调用 setTimeout();
示例:无穷循环并带停止按钮的
<html>
<head>
<script type="text/javascript">
var c=0
var t
function timedCount()
{
document.getElementById('txt').value=c
c=c+1
t=setTimeout("timedCount()",1000)
} function stopCount()
{
clearTimeout(t)
}
</script>
</head> <body>
<form>
<input type="button" value="开始计时!" onClick="timedCount()">
<input type="text" id="txt">
<input type="button" value="停止计时!" onClick="stopCount()">
</form> <p>
请点击上面的“开始计时”按钮。输入框会从 0 开始一直进行计时。点击“停止计时”可停止计时。
</p> </body> </html>
2. setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式;
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
示例:
<html>
<body> <input type="text" id="clock" size="35" />
<script language=javascript>
var int=self.setInterval("clock()",50)
function clock()
{
var t=new Date()
document.getElementById("clock").value=t
}
</script>
<button onclick="int=window.clearInterval(int)">Stop interval</button> </body>
</html>
二:扩展
1. 使用 setTimeout 和 setInterval 不会阻塞js网页的单线程页面操作;比如用js 改变页面的图片或,页面上的文字;
通常使用 for 循环 会影响页面的操作;
function test()
{
//假如 /tmp/ 目录下有4张图片,分别是 test0-3.png
//如下js 改变 id为 testIMG 的图片;
for(var i=0;i<4;i++)
{
alert(i);
document.getElementById("testIMG".src="/tmp/test"+String(i)+".png";
} //运行结果,在网页上,会依次弹出 4次 alert;但是图片不会依次切换,而是要等到最后一次,显示最后一张图片;
}
所以,上面的问题要 使用 setTimeout, setInterval 操作;
2. 还有一点,js 对于 同一个 id 的 img标签;在两次改变图片时,,如果图片的名字一样,,图片不一样,,图片不会改变;
即是 第一次 js 改变图片 为 a.png;
第二次 a.png 图片发生变化了,但是名字还是 a.png;但是此时用js 改变时,页面上的图片不会刷新
参考:http://www.w3school.com.cn/jsref/met_win_settimeout.asp
http://www.w3school.com.cn/jsref/met_win_setinterval.asp
js setTimeout 与 setInterval 以及 for 循环 刷新UI的更多相关文章
- js setTimeout和setInterval区别
1.区别 2.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset=&qu ...
- js:setTimeout 与 setInterval 比较
在javascript中有两个非常有用的函数:setTimeout 和setInterval ,都是定时器:但是两者存在着一些区别: 1. setTimeout函数 用法:setTimeout(fn, ...
- js setTimeout 和 setInterval 区别
setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码.不过这两个函数还是有区别的 ...
- js的事件循环机制:同步与异步任务(setTimeout,setInterval)宏任务,微任务(Promise,process.nextTick)
javascript是单线程,一切javascript版的"多线程"都是用单线程模拟出来的,通过事件循环(event loop)实现的异步. javascript事件循环 事件循环 ...
- 关于js中的setTimeout和setInterval
http://ejohn.org/blog/how-javascript-timers-work 这是John的一篇博文说到setTimeout和setInterval的区别,在看js高效图形编程的时 ...
- 原生js轮播以及setTimeout和setInterval的理解
下面这个代码是从一个群下载下来的,为了帮助自己理解和学习现在贴出来,与初学者共勉. <!DOCTYPE html> <html> <head> <meta c ...
- js中的setTimeout和setInterval
在html页面中要使用自动刷新功能时,可以是使用js中setTimeout和setInterval: 一.使用方法 setTimeout的使用setTimeout('要调用的Js方法', 调用的延迟时 ...
- 【转】JS中setTimeout和setInterval的最大延时值详解
前言 JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成.而这篇文中主要给大家介绍的是关于JS中setTi ...
- js中两种定时器,setTimeout和setInterval的区别
setTimeout只在指定时间后执行一次,代码如下: <script> //定时器 异步运行 function hello(){ alert("hello&qu ...
随机推荐
- 2014江西理工大学C语言程序竞赛高级组
Beautiful Palindrome Number 题意:求N里面有多少个符合要求的数字(数字要求:回文数,且前一半部分是不严格递增) 解法:打表 #include<bits/stdc++. ...
- 实现的时钟(time)
<!doctype html><html lang="en"><head> <script type="text/javascr ...
- hao dongxi
asp.net页面间传值方式后台 asp.net页面间传值的几种方法 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. json的使用 前后台统一以对象的方式编程 ASP. ...
- 再议extern和include的作用
先引入一下题啊,主要是看到有人这样写 我个人觉的这样写没什么意思,没有体现出了extern的特性. 为什么我要这样说,先谈谈include,总是有人觉得这个东西很神秘,很特殊不知道他干了什么.其实 ...
- Objective C 基础
1,字符串加@: 不加@的是C语言字符串. 加@的代表的是OC的NSString http://www.jikexueyuan.com/course/71_2.html 2,setValuesForK ...
- .Net验证码实现基础--Draw
命名空间 using System.Draw; using System.Draw.Drawing2D; 在form等控件的 事件中 添加 paint事件 ///////画各种形状(空心)////// ...
- Mysql错误问题记录
① Incorrect string value: '\xE6\x94\xBE\xE5\xA4\xA7...' for column 'name' at row 1 Query…… 原因:编码不匹配. ...
- 关于MySQL数据库如何按时间查询
这里做了几个测试 select * from simingpai where TIMESTAMP(createTime) >= '2015-9-6'; select * from simingp ...
- jquery的$.与$.fn的区别
这个是jquery插件的形式,举个例子: <div id="myDiv"></div> (function($){ $.fn.extend({ test:f ...
- Metasploit辅助模块
msf > show auxiliary Auxiliary ========= Name Di ...