javascript - 原生JS和jQuety关于设置图片轮播定时器问题

查看:163
本文介绍了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); 

却可以。

解决方案

你还是没理解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)

这篇关于javascript - 原生JS和jQuety关于设置图片轮播定时器问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆