在前端開(kāi)發(fā)中,我們經(jīng)常需要實(shí)現(xiàn)一些定時(shí)執(zhí)行的效果,比如倒計(jì)時(shí)、延時(shí)加載等等。而利用jQuery提供的setTimeout()函數(shù),我們可以很方便地實(shí)現(xiàn)這樣的效果。
setTimeout()函數(shù)的語(yǔ)法如下:
setTimeout(function(){ //要執(zhí)行的代碼 }, 5000); //5000表示5秒后執(zhí)行
上述代碼中,setTimeout()函數(shù)接受兩個(gè)參數(shù),第一個(gè)參數(shù)是一個(gè)匿名函數(shù),表示要執(zhí)行的代碼;第二個(gè)參數(shù)是一個(gè)時(shí)間值,表示延遲的毫秒數(shù)。因此,上述代碼表示在5秒后執(zhí)行一段匿名函數(shù)。
除了setTimeout()函數(shù)之外,jQuery還提供了另一種定時(shí)執(zhí)行的方法——delay()函數(shù)。delay()函數(shù)的語(yǔ)法如下:
$("selector").delay(5000).queue(function(){ //要執(zhí)行的代碼 $(this).dequeue(); });
上述代碼中,$()函數(shù)是jQuery的選擇器,用來(lái)選取DOM元素。delay()函數(shù)的參數(shù)表示延遲的毫秒數(shù),而queue()函數(shù)用來(lái)定義要執(zhí)行的動(dòng)畫(huà)或函數(shù)隊(duì)列。在上述代碼中,我們將要執(zhí)行的代碼封裝在一個(gè)匿名函數(shù)中,并在隊(duì)列最后調(diào)用dequeue()函數(shù)來(lái)結(jié)束當(dāng)前隊(duì)列。
總的來(lái)說(shuō),無(wú)論是利用setTimeout()函數(shù)還是delay()函數(shù),我們都可以很方便地實(shí)現(xiàn)定時(shí)執(zhí)行的效果。在開(kāi)發(fā)中,我們可以根據(jù)實(shí)際需求選擇不同的方法。