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. mysql 可以從 TCP 連接但是不能從 socket 鏈接2. sql語句 - 如何在mysql中批量添加用戶?3. mysql 非主鍵做范圍查找實現原理的一點困惑4. java - jdbc如何返回自動定義的bean5. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。6. mysql - 數據庫建字段,默認值空和empty string有什么區別 1107. mysql - JAVA怎么實現一個DAO同時實現查詢兩個實體類的結果集8. mysql建表索引問題求助9. mysql - PHP定時通知、按時發布怎么做?10. 事務 - mysql共享鎖lock in share mode的實際使用場景
