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. java - Spring如何在启动时,针对特定的一类bean根据传入的参数创建出不同的实例并且在后续的业务中调用这些实例?2. css3 - Firefox 字号相对IE、Chrome更大,如何在CSS中统一?3. 【加急】请问webarchive格式转换html怎么做4. css - div display: inline-block; 置中?5. javascript - ajax中的 textStatus 报错为 parsererror?6. 极光推送 - Android app消息推送 百度 极光 个推 信鸽哪个好一些?7. javascript - h5上的手机号默认没有识别8. javascript - 连续点击触发mouseleave事件9. javascript - 在html中写了个<video>视频,浏览器却是一片空白为什么呢?360浏览器?10. vue.js - weex scroller搭配refresh在android平台上拉会触发refresh