setInterval()的使用


setInterval()

作用

 這個函數可以將一個函數每隔一段時間執行一次

參數

 1.回調函數,該函數會每隔一段時間被調用一次
 2.每次調用間隔的時間,單位是毫秒

返回值

 返回一個Number類型的數據,這個數字用來作為定時器的唯一標識

使用

寫法一:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			window.onload = function(){
				//獲取count
				var count = document.getElementById("count");
				var num = 1;
				var timer = setInterval(function(){
					count.innerHTML = num++;
					if(num == 11){
						//關閉定時器
						clearInterval(timer);
					}
				},1000);
				//clearInterval()可以用來關閉一個定時器
				//方法中需要一個定時器的標識作為參數,這樣將關閉標識對應的定時器
				//clearInterval(timer);
				
			};
		</script>
	</head>
	<body>
		<h1 id="count"></h1>
	</body>
</html>

寫法二:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">	
			window.onload = function() {
				var c = document.getElementById("count");
				var num = 1;
				var fun = function() {
					c.innerHTML = num++;
					if (num == 11) {
						//關閉定時器
						clearInterval(timer);
					}
				}
				var timer = setInterval(fun, 1000);//這種方式fun一定不能寫成fun()
			};
		</script>
	</head>
	<body>
		<h1 id="count"></h1>
	</body>
</html>

寫法三:

每隔一段時間調用一次某對象中的某方法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var count = null;//由於count聲明為window全局變量,所以下面兩種調用方式都可以
                        //如果不聲明為全局變量,則只能使用 setInterval(count.fun, 1000); 的調用方式
			window.onload = function() {
				c = document.getElementById("count");
				var num = 1;
				var timer = null;
				function Count() {
					this.fun = function() {
						c.innerHTML = num++;
						if (num == 11) {
							//關閉定時器
							clearInterval(timer);
						}
					}
				}
				count = new Count();//為count賦值
				timer = setInterval('count.fun()', 1000);//調用Count對象的fun()方法,這里的fun后面必須跟()
                              //timer = setInterval(count.fun, 1000);//調用Count對象的fun()方法,這里的fun后面不能加 ()
			};
		</script>
	</head>
	<body>
		<h1 id="count"></h1>
	</body>
</html>

寫法四:

調用某全局方法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var count = null;
			var num = 1;
			var timer = null;
			var c=null;//這里必須把c聲明為全局屬性,
			var fun = function() {
				c.innerHTML = num++;
				if (num == 11) {
					//關閉定時器
					clearInterval(timer);
				}
			}
			window.onload = function() {
				c = document.getElementById("count");
				timer = setInterval('fun()', 1000);
                                //timer = setInterval(fun, 1000);
			};
		</script>
	</head>
	<body>
		<h1 id="count"></h1>
	</body>
</html>

寫法五

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">	
			window.onload = function() {
				var c = document.getElementById("count");
				var num = 1;
				var fun = function() {
					c.innerHTML = num++;
					if (num == 11) {
						//關閉定時器
						clearInterval(timer);
					}
				}
				var timer = setInterval(function(){
					fun();
				}, 1000);
			};
		</script>
	</head>
	<body>
		<h1 id="count"></h1>
	</body>
</html>

總結

1.setInterval()該方法能每隔一段時間調用某個方法
2.如果傳入setInterval()方法中的是函數對象是局部函數,調用方式為:setInterval(fun,time); fun后面不能接括號
3.如果傳入setInterval()方法中的是函數對象是全局函數,調用方式有兩種:
一:setInterval(fun,time); fun后面不能接括號
二:setInterval('fun()',time); fun后面必須帶括號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM