Javascript 传递参数时,如何让setInterval()从函数内部执行单击?
我有一个面向对象的内容/图像滑块。 我在setInterval()中遇到问题,只运行了一次。 我将字符串值传递给我的函数Javascript 传递参数时,如何让setInterval()从函数内部执行单击?,javascript,jquery,Javascript,Jquery,我有一个面向对象的内容/图像滑块。 我在setInterval()中遇到问题,只运行了一次。 我将字符串值传递给我的函数cn.hero(“”,“”,“”,“”,“”,0,0,'yes')匹配后应开始自动触发单击 这是我的密码: cn = { hero:function(r,rc,lx,rx,fx,fs,ss,auto){ $(lx).click(...} if(auto.match('yes')){ setInterval($(lx).click(),7
cn.hero(“”,“”,“”,“”,“”,0,0,'yes')代码>匹配后应开始自动触发单击
这是我的密码:
cn = {
hero:function(r,rc,lx,rx,fx,fs,ss,auto){
$(lx).click(...}
if(auto.match('yes')){ setInterval($(lx).click(),7000); }
}
}
$(function(){
cn.hero('#reel', '#reel div', '#reel-left', '#reel-right', 'slide', 300, 500, 'yes');
});
非常感谢您的帮助,谢谢您是说您想运行setInterval
但只运行一次其代码吗?这不是setTimeout
所做的吗?你是说你想运行setInterval
但只运行一次它的代码吗?这不是setTimeout
所做的吗?您需要一个匿名函数——您所拥有的是立即执行
if(auto.match('yes')){
setInterval( function() {
$(lx).click()
} ,7000);
}
当您将代码传递给setInterval
时,如
setInterval($(lx).click(), 7000);
代码立即执行;jQuery将解析该选择器,并立即在那里触发click事件。您需要一个匿名函数——您所拥有的是立即执行
if(auto.match('yes')){
setInterval( function() {
$(lx).click()
} ,7000);
}
当您将代码传递给setInterval
时,如
setInterval($(lx).click(), 7000);
代码立即执行;jQuery将解析该选择器,然后立即在那里触发click事件。您想使用setTimeout。没有设置间隔
您想使用setTimeout。没有设置间隔
您没有将函数传递给setInterval
,而是调用函数并将其结果传递给setInterval
。($(lx).click()
实际调用click()
函数。)
在代码中的适当位置尝试以下操作:
setInterval(function() { $(lx).click() },7000);
这将封装您实际想要在匿名函数中进行的函数调用,并将该匿名函数传递给setInterval
。这是一种常见的技术。您不是将函数传递给setInterval
,而是调用函数并将其结果传递给setInterval
。($(lx).click()
实际调用click()
函数。)
在代码中的适当位置尝试以下操作:
setInterval(function() { $(lx).click() },7000);
这将封装您实际想要在匿名函数中进行的函数调用,并将该匿名函数传递给setInterval
。这是一种常见的技术。不,当我将字符串“yes”传递给参数“auto”时,我需要cn.hero()函数每7秒执行一次。Kolink是正确的!您的意思是,当if语句在7s-click事件之后出现时,这里没有可对抗性,click事件在第一次迭代(lx)时被触发,因此您只需要一个调用,即setTimeoutNo。当我将字符串“yes”传递给参数“auto”时,我需要cn.hero()函数每7秒执行一次。Kolink是对的!您的意思是,当if语句在7s-click事件之后出现时,这里没有可对抗性,click事件在第一次迭代(lx)时被触发,因此您只需要一个调用,即settimeout,这就是您需要的答案+1为了比我更好地理解被问到的问题:D@Kolink-谢谢。OP确实说要让setInterval运行一次,但他也说他想开始自动触发点击。第一个语句暗示他需要setInterval
,后者可能/可能不需要。你对这个问题的理解绝对是合理的。但不管怎样,他都需要一个匿名者function@Nasir-呜!那么你想让这个点击运行一次,还是重复?@Nasir-没关系,我看到了你的其他评论。你想让它每7秒发射一次。这个问题本来可以说得更清楚,但我认为这足够清楚,它应该反复运行。我相信你的答案是正确的:我发布了几乎相同的答案+这是你需要的答案+1为了比我更好地理解被问到的问题:D@Kolink-谢谢。OP确实说要让setInterval运行一次,但他也说他想开始自动触发点击。第一个语句暗示他需要setInterval
,后者可能/可能不需要。你对这个问题的理解绝对是合理的。但不管怎样,他都需要一个匿名者function@Nasir-呜!那么你想让这个点击运行一次,还是重复?@Nasir-没关系,我看到了你的其他评论。你想让它每7秒发射一次。这个问题本来可以说得更清楚,但我认为这足够清楚,它应该反复运行。我相信你的答案是正确的:我发布了几乎相同的答案+1用于首先进入。问题不是它应该只运行一次,对于这一点,您可以正确地使用setTimeout
,问题是它只运行一次,并且应该重复运行。问题不是它应该只运行一次,对于这一点,您可以正确地使用setTimeout
,问题是它只运行一次,并且应该重复运行。+1-你是另一个看到立即执行代码的韩元+1-你是另一个看到立即执行代码的韩元