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);
卻可以。
問題解答
回答1:你還是沒理解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)
相關文章:
1. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?2. sql語句 - mysql中關聯表查詢問題3. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?4. javascript - [js]為什么畫布里不出現圖片呢?在線等5. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。6. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變7. html - vue項目中用到了elementUI問題8. javascript - iframe 為什么加載網頁的時候滾動條這樣顯示?9. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?10. javascript - 有什么比較好的網頁版shell前端組件?
