javascript - 原生JS和jQuety關(guān)于設(shè)置圖片輪播定時(shí)器問題
問題描述
關(guān)于圖片輪播,設(shè)置自動(dòng)播放問題:如果使用原生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. docker 17.03 怎么配置 registry mirror ?2. css3里rotate怎么實(shí)現(xiàn)如圖的效果3. javascript - 使用location.href進(jìn)行頁面跳轉(zhuǎn)時(shí),并不立即跳轉(zhuǎn)?4. mysqld無法關(guān)閉5. angular.js - angularJS service里面存儲(chǔ)的數(shù)據(jù)能夠直接和HTML頁面交互嗎?6. html - chrome 下 transiton translateX(10px) 后字體變化7. spring-mvc - eclipse java maven web 項(xiàng)目如何重新編譯 ,不是clean那個(gè) 詳情進(jìn)來看圖 謝謝大家8. javascript - 七牛接口如何在前端調(diào)用?9. html - css 的::-webkit-scrollbar 只能夠設(shè)置垂直滾動(dòng)條的寬度??如何設(shè)置水平滾動(dòng)條的寬度??10. javascript - vue-cli項(xiàng)目中,獲取微信access_token時(shí)遇到的跨域問題
