javascript - 原生JS和jQuety關(guān)于設(shè)置圖片輪播定時(shí)器問題
問題描述
關(guān)于圖片輪播,設(shè)置自動播放問題:如果使用原生JS代碼,當(dāng)前我了解兩種方法,第一種:
function next(){ 這里是代碼,比如index++;}var timer=setInterval(next, 2000);
第二種(其中oBtnNext是指獲取到的某個(gè)按鈕):
oBtnNext.onclick=function(){ 這里是代碼,比如index++;} var timer=setInterval(oBtnNext.onclick,2000);
重點(diǎn)來了,問題是,如果用jQuery($('#next')等價(jià)于上面中的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是要調(diào)用的函數(shù)或要執(zhí)行的代碼串。使用代碼串的時(shí)候,要加上“”來把方法變成字符串..(詳見w3school)
oBtnNext.onclick=function(){} var timer=setInterval(oBtnNext.onclick,2000);
這里好用是因?yàn)閛BtnNext.onclick是一個(gè)function
var timer=setInterval($('#next').click,2000)
或
var timer=setInterval($('#next').click(),2000)
都不好使,因?yàn)檫@倆既不是function也不是代碼串,你可以試試寫
var timer=setInterval(’$('#next').click()’,2000)
相關(guān)文章:
1. javascript - 大家都在用vue來做單頁項(xiàng)目,那vue是否可以在傳統(tǒng)多頁項(xiàng)目上?2. Eclipse / Java-導(dǎo)入java。(namespace)。*是否有害?3. mysql - SQL語句可以提供“查詢表,并至第100條結(jié)果為止”嗎?4. java中返回一個(gè)對象,和輸出對像的值,意義在哪兒5. python - xpath提取網(wǎng)頁路徑?jīng)]問題,但是缺失內(nèi)容?6. node.js - JavaScript的一個(gè)不能理解的地方7. javascript - js一個(gè)call和apply的問題?8. android - 安卓做前端,PHP做后臺服務(wù)器 有什么需要注意的?9. javascript - 給某個(gè)類添加一個(gè)偽類,這個(gè)類有click事件,現(xiàn)在我點(diǎn)擊偽類也觸發(fā)了click事件10. docker不顯示端口映射呢?
