Javascript 每15秒运行一次jquery函数
我想每15秒运行一次函数,但我的设置间隔不起作用,我不知道为什么。。。函数只调用一次Javascript 每15秒运行一次jquery函数,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我想每15秒运行一次函数,但我的设置间隔不起作用,我不知道为什么。。。函数只调用一次 $(document).ready(function(){ param = new Object(); param['menu_hover_time'] = 5000; function hoverMenuAnimate(){ if(param['menu_hover_flag']) { $('.menu-item-423').delay(param['menu_ho
$(document).ready(function(){
param = new Object();
param['menu_hover_time'] = 5000;
function hoverMenuAnimate(){
if(param['menu_hover_flag'])
{
$('.menu-item-423').delay(param['menu_hover_time']).queue(function() {
$(this).trigger('click');
$('.menu-item-3704').delay(param['menu_hover_time']).queue(function() {
$(this).trigger('click');
$('.menu-item-424').delay(param['menu_hover_time']).queue(function() {
$(this).trigger('click');
$('.menu-item-422').delay(param['menu_hover_time']).queue(function() {
$(this).trigger('click');
});
});
});
});
}
}
setInterval(hoverMenuAnimate(),15000)
});
谢谢你的帮助。
致以最良好的祝愿
编辑
问题出在.queue()上:
谢谢大家的帮助 使用
setInterval
接受延迟后执行的函数。当您使用()
时,您正在调用它。只需将函数引用传递给setInterval
使用
使用
setInterval
接受延迟后执行的函数。当您使用()
时,您正在调用它。只需将函数引用传递给setInterval
使用
使用
setInterval
接受延迟后执行的函数。当您使用()
时,您正在调用它。只需将函数引用传递给setInterval
使用
使用
setInterval
接受延迟后执行的函数。当您使用()
时,您正在调用它。只需将函数引用传递给setInterval
使用
setInterval(hoverMenuAnimate(),15000)
基本上是每隔15000毫秒用hoverMenuAnimate
函数的结果显示call setinterval(这是错误的,因为函数不返回任何内容)。你的意思是@Stapal在下面说的<代码>设置间隔(hoverMenuAnimate,15000)这意味着每15000毫秒调用一次hoverMenuAnimate
函数。除了下面的答案外,您正在使用queue()
,而不会触发队列中的下一项。对queue()
的回调传递了一个参数,这是一个应该调用的函数。@Karl:这不完全是重复的。代码中还有其他问题会导致间隔出现故障。@cookiemonster在文章中清楚地说“setInterval不工作,我不知道为什么”和“函数只调用一次…”,因此他当前的问题在重复的文章中得到了回答。一旦他解决了这个问题,他可能会有另一个问题,我同意,但再一次,他可能能够调试它。如果他不能,如果你看灰色框,那么他可以问关于下一个问题的其他问题。或者他可以编辑该问题,使其提出正确的问题,然后ping我,我将很乐意删除标记。setInterval(hoverMenuAnimate(),15000)
基本上是每隔15000毫秒用hoverMenuAnimate
函数的结果显示call setinterval(这是错误的,因为函数不返回任何内容)。你的意思是@Stapal在下面说的<代码>设置间隔(hoverMenuAnimate,15000)这意味着每15000毫秒调用一次hoverMenuAnimate
函数。除了下面的答案外,您正在使用queue()
,而不会触发队列中的下一项。对queue()
的回调传递了一个参数,这是一个应该调用的函数。@Karl:这不完全是重复的。代码中还有其他问题会导致间隔出现故障。@cookiemonster在文章中清楚地说“setInterval不工作,我不知道为什么”和“函数只调用一次…”,因此他当前的问题在重复的文章中得到了回答。一旦他解决了这个问题,他可能会有另一个问题,我同意,但再一次,他可能能够调试它。如果他不能,如果你看灰色框,那么他可以问关于下一个问题的其他问题。或者他可以编辑该问题,使其提出正确的问题,然后ping我,我将很乐意删除标记。setInterval(hoverMenuAnimate(),15000)
基本上是每隔15000毫秒用hoverMenuAnimate
函数的结果显示call setinterval(这是错误的,因为函数不返回任何内容)。你的意思是@Stapal在下面说的<代码>设置间隔(hoverMenuAnimate,15000)这意味着每15000毫秒调用一次hoverMenuAnimate
函数。除了下面的答案外,您正在使用queue()
,而不会触发队列中的下一项。对queue()
的回调传递了一个参数,这是一个应该调用的函数。@Karl:这不完全是重复的。代码中还有其他问题会导致间隔出现故障。@cookiemonster在文章中清楚地说“setInterval不工作,我不知道为什么”和“函数只调用一次…”,因此他当前的问题在重复的文章中得到了回答。一旦他解决了这个问题,他可能会有另一个问题,我同意,但再一次,他可能能够调试它。如果他不能,如果你看灰色框,那么他可以问关于下一个问题的其他问题。或者他可以编辑该问题,使其提出正确的问题,然后ping我,我将很乐意删除标记。setInterval(hoverMenuAnimate(),15000)
基本上是每隔15000毫秒用hoverMenuAnimate
函数的结果显示call setinterval(这是错误的,因为函数不返回任何内容)。你的意思是@Stapal在下面说的<代码>设置间隔(hoverMenuAnimate,15000)这意味着每15000毫秒调用一次hoverMenuAnimate
函数。除了下面的答案外,您正在使用queue()
,而不会触发队列中的下一项。对queue()
的回调传递了一个参数,这是一个应该调用的函数。@Karl:这不完全是重复的。代码中还有其他问题会导致间隔出现故障。@cookiemonster在文章中清楚地说“setInterval不工作,我不知道为什么”和“函数只调用一次…”,因此他当前的问题在重复的文章中得到了回答。一旦他解决了这个问题,他可能会有另一个问题,我同意,但再一次,他可能能够调试它。如果他不能,如果你看看灰色的盒子,那么他可以问另一个关于这个的问题
/* Animated menu */
function hoverMenuAnimate(){
if(param['menu_hover_flag'])
{
setTimeout(function(){
if(!param['menu_hover_flag'])return;
$('#menu-1 nav#site-navigation .menu-item-422').css('background', '#f0f2f5').children('a').css('color', '#204056');
$('.menu-item-423').css('background', '#e5251e').children('a').css('color', '#fff');
$('#submenu-container-1').html(($('.menu-item-423').children('ul.sub-menu').html()));
$('#submenu-container-1').css('float', 'right').css('marginRight', '110px');
setTimeout(function(){
if(!param['menu_hover_flag'])return;
$('#menu-1 nav#site-navigation .menu-item-423').css('background', '#f0f2f5').children('a').css('color', '#204056');
$('.menu-item-3704').css('background', '#e5251e').children('a').css('color', '#fff');
$('#submenu-container-1').html(($('.menu-item-3704').children('ul.sub-menu').html()));
$('#submenu-container-1').css('float', 'right').css('marginRight', '110px');
setTimeout(function(){
if(!param['menu_hover_flag'])return;
$('#menu-1 nav#site-navigation .menu-item-3704').css('background', '#f0f2f5').children('a').css('color', '#204056');
$('.menu-item-424').css('background', '#e5251e').children('a').css('color', '#fff');
$('#submenu-container-1').html(($('.menu-item-424').children('ul.sub-menu').html()));
$('#submenu-container-1').css('float', 'right').css('marginRight', '110px');
if(!param['menu_hover_flag']){return;}
setTimeout(function(){
if(!param['menu_hover_flag'])return;
$('#menu-1 nav#site-navigation .menu-item-424').css('background', '#f0f2f5').children('a').css('color', '#204056');
$('.menu-item-422').css('background', '#e5251e').children('a').css('color', '#fff');
$('#submenu-container-1').html(($('.menu-item-422').children('ul.sub-menu').html()));
$('#submenu-container-1').css('float', 'right').css('marginRight', '110px');
}, param['menu_hover_time']);
}, param['menu_hover_time']);
}, param['menu_hover_time']);
}, 1000);
}
}
hoverMenuAnimate();
setInterval(function(){
hoverMenuAnimate();
}, (4*param['menu_hover_time']));
setInterval(hoverMenuAnimate,15000); //Notice removed () from here