首頁  >  問答  >  主體

javascript - 原生JS和jQuety關於設定圖片輪播計時器問題

關於圖片輪播,設定自動播放問題:
如果使用原生JS程式碼,目前我了解兩種方法,第一種:

function next(){
    这里是代码,比如index++;
}
var timer=setInterval(next, 2000);

第二種(其中oBtnNext是指取得到的某個按鈕):

oBtnNext.onclick=function(){
    这里是代码,比如index++;
}   
var timer=setInterval(oBtnNext.onclick,2000);

重點來了,問題是,如果用jQuery($("#next")等價於上面中的oBtnNext)

$("#next").click(function(){
    这里是代码,比如index++;
}

為什麼寫

var timer=setInterval($("#next").click,2000)

var timer=setInterval($("#next").click(),2000)  

都不可以,但是

var timer=setInterval(function () {
    $("#next").click()
},2000); 

卻可以。

大家讲道理大家讲道理2663 天前983

全部回覆(1)我來回復

  • 漂亮男人

    漂亮男人2017-07-05 11:00:00

    你還是沒理解setInterval的用法
    setInterval(code,millisec[,"lang"])
    其中的code是要呼叫的函數或要執行的程式碼字串。
    使用程式碼字串的時候,要加上「」來把方法變成字串..
    (詳見w3school)

    oBtnNext.onclick=function(){}
    var timer=setInterval(oBtnNext.onclick,2000);

    這裡好用是因為oBtnNext.onclick是一個function

    var timer=setInterval($("#next").click,2000)

    var timer=setInterval($("#next").click(),2000)

    都不好使,因為這兩個既不是function也不是代碼串,你可以試試看寫

    var timer=setInterval('$("#next").click()',2000)

    回覆
    0
  • 取消回覆