在传递参数时,如何让setInterval()从函数内部执行单击
How do I get setInterval() to execute a click from inside a function when passing a parameter?
我正在处理一个面向对象的内容/图像滑块。我遇到了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(),7000); }
}
}
$(function(){
cn.hero('#reel', '#reel div', '#reel-left', '#reel-right', 'slide', 300, 500, 'yes');
});
如有任何帮助,我们将不胜感激,感谢
您需要一个匿名函数——您所拥有的是立即执行
if(auto.match('yes')){
setInterval( function() {
$(lx).click()
} ,7000);
}
当您像一样将代码传递给setInterval
时
setInterval($(lx).click(), 7000);
则立即执行该代码;jQuery将解析该选择器,然后立即触发click事件。
您不是在向setInterval
传递函数,而是在调用函数并将其结果传递给setInterval
。($(lx).click()
实际上调用了click()
函数。)
在代码中的适当位置尝试此操作:
setInterval(function() { $(lx).click() },7000);
这将您实际想要在匿名函数中进行的函数调用封装起来,并将该匿名函数传递给setInterval
。这是一种常见的技术。
你是说你想运行setInterval
,但它的代码只运行一次吗?setTimeout
不是这样做的吗?
您想要使用setTimeout。未设置间隔。
https://developer.mozilla.org/en/DOM/window.setTimeout
相关文章:
- 调用函数内部的函数
- javascript函数内部的代码用逗号而不是分号分隔
- javascript无法重新定义函数内部的全局对象
- 如何从函数内部的这个变量中获取值
- appendChild在函数外部工作,但在函数内部不工作
- 在jquery函数内部设置来自jquery函数的var;t运行
- 一个'var'在函数内部声明
- 为什么(如何)'这'从函数内部调用回调时发生更改
- 函数内部未定义的输入值
- 在Meteor中如何将数据从函数内部复制到其他模板
- 如果在构造函数内部为else,则Javascript是可选的
- 我对“;返回true"嵌套函数内部;t工作
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- javascript,将参数传递给函数内部的闭包中的回调
- 匿名自执行js函数内部的全局变量在外部仍然可用
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- 访问函数内部的Polymer方法
- 更改函数内部的全局变量而不调用它
- 如何在函数内部为jquery工具提示调用不同的var字符串
- 构造函数内部的事件处理