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. python - 啟動Eric6時報錯:’qscintilla_zh_CN’ could not be loaded2. php - 微信開發驗證服務器有效性3. MySQL中的enum類型有什么優點?4. android下css3動畫非常卡,GPU也不差啊5. mysql - 記得以前在哪里看過一個估算時間的網站6. css3 - 純css實現點擊特效7. javascript - 關于<a>元素與<input>元素的JS事件運行問題8. javascript - vue 怎么渲染自定義組件9. python - 有什么好的可以收集貨幣基金的資源?10. html - vue項目中用到了elementUI問題
