JavaScript常用的方法和函数(setInterval和setTimeout)

1.setInterval:计时器

可以按照指定的周期(以毫秒为单位)来调用函数或计算表达式

调用格式:setinterval(fun,time)

说明:fun为函数体,time为数值,这两个参数是必需的。

返回值为一个对象(interval),用于清理计时器:clearinterval()

示意图如下:

示例如下的页面效果如图所示。

(没有特意设置样式所以有些丑QAQ)

说明:将8个div块排列如图,初识样式全无蓝色,点击开始按钮,从A~H依次出现蓝色,并循环出现,点击停止按钮蓝色停止运动。

  1 <!DOCTYPE html>
  2 <html>
  3 <head lang="en">
  4     <meta charset="UTF-8">
  5     <title></title>
  6     <style type="text/css">
  7         #main {
  8             width: 608px;
  9             border: solid 1px red;
 10             margin: 20px auto;
 11         }
 12
 13         #main .block {
 14             width: 100px;
 15             height: 100px;
 16             line-height: 100px;
 17             text-align: center;
 18             border: solid 1px #5a5a5a;
 19             margin: 5px 25px;
 20             float: left;
 21         }
 22
 23         #main .blue {
 24             width: 100px;
 25             height: 100px;
 26             line-height: 100px;
 27             text-align: center;
 28             border: solid 1px #5a5a5a;
 29             margin: 5px 25px;
 30             float: left;
 31             background: blue;
 32             color: #fff;
 33         }
 34     </style>
 35     <script type="text/javascript" src=../../js/system.js></script>
 36 </head>
 37 <body>
 38 <div id="main">
 39     <div class="block" id="a1">A</div>
 40     <div class="block" id="a2">B</div>
 41     <div class="block" id="a3">C</div>
 42     <div class="block" id="a4">D</div>
 43     <div class="block" id="a5">E</div>
 44     <div class="block" id="a6">F</div>
 45     <div class="block" id="a7">G</div>
 46     <div class="block" id="a8">H</div>
 47     <div style="clear: both"></div>
 48 </div>
 49
 50 <input type="button" value="开始" id="btnStart"/>
 51 <input type="button" value="停止" id="btnStop"/>
 52 <script type="text/javascript">
 53     //已导入system.js,可以使用$$("n")来获取ID名
 54     //定义一个全局对象为objGame,值为空
 55     var objGame = null;
 56     //定义一个全局变量用于存储蓝色所在位置
 57     var index = 0;
 58     /**************************************
 59      * 打开网页自动出现蓝色效果
 60      //    window.onload=function(){
 61 //        $$("btnStart").click();
 62 //    }
 63      **************************************/
 64         //停止按钮绑定点击事件
 65     $$("btnStop").onclick = function () {
 66         //点击停止按钮清除计时器,停止循环
 67         clearInterval(objGame);
 68     }
 69     //开始按钮绑定点击事件
 70     $$("btnStart").onclick = function () {
 71         //点击开始按钮清除计时器,防止多次点击开始按钮出错
 72         clearInterval(objGame);
 73         //为全局对象设置属性,此时objGame不为空
 74         objGame = setInterval(function () {
 75                     //遍历8个div方块
 76                     for (var i = 1; i < 9; i++) {
 77                         //使用变量n来存储随i变化的元素ID号
 78                         var n = "a" + i;
 79                         //调用comm对象的setAttr方法为ID号为n的元素设置block属性
 80                         //思路:先给所有元素设置初始样式,在单独给对应元素设置变化样式
 81                         comm.setAttr($$(n), "class", "block");
 82                     //循环结束标志
 83                     }
 84                     //index值累加
 85                     index++;
 86                     //使用字符串叠加方法得到累加后的index对应的div块位置,既ID号
 87                     var n = "a" + index;
 88                     //调用comm对象的setAttr方法为ID号为n的元素设置blue属性,blue属性为蓝色背景
 89                     //关于comm对象参考上一篇博客
 90                     comm.setAttr($$(n), "class", "blue");
 91                     //判断index值,防止无限循环,index值最大为8
 92                     if (index >= 8) {
 93                         //index值为8时重新归0,再次从第一个div开始变化,达到循环变化目的
 94                         index = 0;
 95                     }
 96                 },
 97                 //定义变化间隔100ms,既0.1秒
 98                 100)
 99     }
100 </script>
101 </body>
102 </html>

时间: 2024-10-09 05:16:54

JavaScript常用的方法和函数(setInterval和setTimeout)的相关文章

JavaScript常用的方法和函数(setAttribute和getAttribute )

仅记录学习的新知识和示例,无干货. 1.setAttribute和getAttribute          (Attribute:属性) setAttribute:为元素添加指定的属性,并为其赋值:如果指定的属性已经存在,则仅设置或改变它的值. 调用方法:element.setAttribute(attributeName,attributeValue) 这是一个方法,无返回值,IE8及以下不支持. getAttribute:返回指定属性名的属性值. 调用方法:element.getAttri

Javascript 常用扩展方法

这篇文章纯粹是为了保存这些方法,供以后翻阅,其实一直保存在 evernote 里面,但觉得还是放到对的地方会好点. 现在收录的很少,希望以后会慢慢增多. 数组扩展 contains,remove 扩展 1 function ArrayContains(array, obj) { 2 for (var i = 0; i < array.length; i++) { 3 if (array[i] === obj) { 4 return true ; 5 } 6 } 7 return false ;

JavaScript函数setInterval()和setTimeout()正确的写法

一.常规写法 1.1 不传参数 function a (x, y) { var i = 0; var b = function(){ console.log((x * y) + (i++)); } return b; } var c = a(1, 2); setInterval('c()', 1000); 1.2 传参数 function c (x, y) { console.log(x * y); } setInterval('c(1, 2)', 1000); 二.改进写法 2.1 不传参数

javascript常用的方法(二)

//判断页面加载完毕 document.onreadystatechange = function () { if (document.readyState == "complete") { //code... } } //判断是否全为手机 String.prototype.isMobile = function () { var pattern = /^0{0,1}(13[0-9]|14[6|7]|15[0-3]|15[5-9]|18[0-3]|18[5-9])[0-9]{8}$/;

JavaScript定时调用函数(SetInterval与setTimeout)

setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码. 不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码. 区别:window.setTimeout("function",time)://设置一个超时对象,只执行一次,无周期 window.setInter

JavaScript浏览器对象(window对象)之setInterval()和setTimeout()区别和用法

window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别. setTimeout方法是定时程序,也就是在什么时间以后干什么.干完了就拉倒.setInterval方法则是表示间隔一定时间反复执行某操作.如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行.如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:例如: (1): t=setTimeout("northsn

javascript函数setInterval和setTimeout的使用区别详解

setTimeout和setInterval的使用 这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript.不过两者各有各的应用场景. 方 法 实际上,setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码. 不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那

JavaScript常用数组方法

JavaScript数组方法有以下这些: forEach() 方法对数组的每一个元素执行一次提供的函数. map() 方法创建一个新数组,其结果是该数组都执行一次函数,原函数保持不变. filter() 方法使指定函数测试数组的每一个元素,并放回一个通过元素的新数组. some() 方法测试该数组有元素通过了指定函数的测试,如果有返回true,否则,返回false. every() 方法测试该数组是否全部通过指定函数测试,全部通过返回true,否则,返回false. Array.of() 方法创

JavaScript常用字符串方法

获取类: 1)动态方法: charAt : 获取字符串指定位置上的字符.(参数:一个,指定要获取的字符位置) 1,不接受负数,如果为负数,会返回一个空字符串. 2,如果不给参数,默认是获取第0位置上的字符. 3,只接收一个参数. charCodeAt : 获取字符串中指定位置上字符的Unicode编码(参数: 一个,指定要获取字符编码的字符位置) 1,任何字符都有一个唯一的字符编码. 2,只接收一个参数. 常用: 数字 : 48 ~ 57 下划线 : 95 空格  : 32 制表符 : 9 小写