本文实例讲述了javascript基于定时器实现进度条功能。分享给大家供大家参考,具体如下:
Javascript 中的定时器
window度一线下面的方法 window.setInterval()
启动定时器
1.setInterval(function(函数),time(每隔多少时间执行一次函数,单位是毫秒))
会重复执行某项操作
2.setTimeout 运用在延迟一段时间,再进行某项操作
setTimeout(function,time)
,setTimeout 不会重复!
停止定时器
setTimeoout 对应的是clearTimeout(对象) 清除已设置的setTiemout对象
setInterval 对应的是clearInterval(对象) 清除已经设置的setInterval对象
给出一个案例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>www.zyiz.net js进度条</title> <style type="text/css"> #outer/*外部*/ { margin-top:100px; border:solid black 1px; background-color:white; width:1004px; height:54px; } #inner/*内部*/ { background-color:red; width:0px;/*首先将内部的宽度定为0,用show()来实现进度条!*/ height:50px; margin-left:2px; margin-top:2px; } </style> <script language="javascript"> function show() { if(document.getElementById("inner").offsetWidth<1000)//offsetWidth实现的时候width是没有宽度的,而style.width实现的时候则有宽度(px)! { document.getElementById("inner").style.width= document.getElementById("inner").offsetWidth+20+"px";//每次执行show()函数的时候宽度都会加上20! console.log(document.getElementById("inner").style.width);//console 控制台 :可以在网页上看到width的变化(利用F12) } else { document.getElementById("inner").style.width=1000+"px";//如果大于1000px的话,只能将1000px赋值给border-width;! stop();//此时就应该执行停止定时器的函数! } } var timer;//定义在两个函数外面,因为两个函数都会用到! function start() { timeer = window.setInterval(show,200);//每隔200ms调用一次show函数 } function stop() { timer = window.clearInterval(timer); } </script> </head> <body onload="start()"> <div id="outer"> <div id="inner"> </div> </div> </body> </html>
运行效果:
运行程序的时候,网页上的进度条就会加载,加载的快慢与时间有关!
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript时间与日期操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。