延遲和間隔函數

延遲函數

setTimeout(參數1,參數2)

參數1做的事件,參數2延遲多少毫秒,參數3是給參數1要做的函數傳參,


 

    var fn1 = function(color){
                document.body.style.backgroundColor = color
            }
            
     setTimeout(fn1,3000,"skyblue")

取消延遲函數,延遲函數會返回一個id,用一個變量去接收它。

 var setid =   setTimeout(fn1,3000,"skyblue")

clearTimeout(setid)

第三個參數,可以傳遞參數(給延遲觸發的函數傳參),就是給第一個函數來傳入的參數,如果第一個函數有多個值,可以接着傳

例子:

	var fn1 = function(color,fontsize){
				document.body.style.backgroundColor = color;
				document.body.style.fontSize=fontsize+"px";
			}
			
    var setid =  setTimeout(fn1,3000,"skyblue",100)

也可以

	var fn1 = function(color,fontsize){
				document.body.style.backgroundColor = color;
				document.body.style.fontSize=fontsize+"px";
			}
			
			// var setid =  setTimeout(fn1,3000,"skyblue",100)
			
	setTimeout(function(){
			fn1("skyblue",100)
	},3000)

 

間隔函數

setInterval(參數1,參數2) 間隔函數

參數1要做的事,參數2時間毫秒

            var fn2 = function(){
                var time = new Date()
                console.log(time)
                document.body.innerHTML =time
            }
            
            setInterval(fn2,3000)
            //取消間隔函數
            setTimeout(function(){
                var inter = setInterval(fn2,3000)
                clearInterval(inter)
            },3000)

取消延遲函數,同樣他也會有一個id,用一個變量去接收它

 

注意:

延遲函數放在一個事件隊列裏面,然後定了個時間即便他是0毫秒,接着去走其他的函數,只有其他函數執行完了,空閒時間纔會去走這個延遲函數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章