在setInterval()中触发('click')
trigger('click') inside setInterval()
本文关键字:click setInterval 更新时间:2023-09-26
我有这样的代码:
setInterval(function() {
$('.button2').trigger('click');
$('.button3').trigger('click');
}, 5000);
结果:它每隔5秒同时按下。button2和。button3。我需要这样的东西- 5秒通过按。button2, 5秒通过按。button3,需要在每次按钮点击之间的延迟,当。button3被按下时-再次按。button2(类似循环)。
任何帮助将不胜感激!
EDIT for flesh:
$(document).ready(function (){
$('.goluboi a').click(function(){
var integer = $(this).attr('rel');
$('.videos .cover').animate({left:-875*(parseInt(integer)-1)}) /*----- Width of div mystuff (here 160) ------ */
$('.goluboi a').each(function(){
$(this).removeClass('active');
if($(this).hasClass('button'+integer)){
$(this).addClass('active')}
});
});
setTimeout(function() {
triggerClick('.button', 0)
}, 5000);
function triggerClick(selector, index) {
var buttons = $(selector);
var mod = index++ % buttons.length;
$(buttons[mod]).trigger('click');
setTimeout(function() {
triggerClick(selector, index);
}, 5000);
}
});
你可以这样做:
setTimeout(function() {
triggerClick('.button2');
}, 5000);
function triggerClick(selector) {
$(selector).trigger('click');
selector = (selector == '.button2') ? '.button3' : '.button2';
setTimeout(function() {
triggerClick(selector);
}, 5000);
}
编辑:回答你下面的评论:
setTimeout(function() {
triggerClick('.button', 0)
}, 5000);
function triggerClick(selector, index) {
var buttons = $(selector);
var mod = index++ % buttons.length;
$(buttons[mod]).trigger('click');
setTimeout(function() {
triggerClick(selector, index);
}, 5000);
}
适用于任何数量的按钮,只要它们都具有相同的类。反正也没必要叫它们"button1"、"button2"answers"button3"。这就是id的作用
EDIT2:
如果我对你的更新理解正确的话,你想要的是:
setTimeout(function() {
triggerClick('.goluboi a.button', 0)
}, 5000);
function triggerClick(selector, index) {
var buttons = $(selector);
// Your logic
var integer = $(this).attr('rel');
$('.videos .cover').animate({left:-875*(parseInt(integer)-1)})
$(buttons).removeClass('active');
var mod = index++ % buttons.length;
$(buttons[mod]).addClass('active').trigger('click');
setTimeout(function() {
triggerClick(selector, index);
}, 5000);
}
});
可以使用setTimeout
function a() {
$('.button2').trigger('click');
setTimeout(b, 5000);
}
function b() {
$('.button3').trigger('click');
setTimeout(a, 5000);
}
setTimeout(a, 5000);
很丑但是很好用
var clickButton = false;
setInterval(function() {
if( clickButton ) {
clickButton = false;
$('.button2').trigger('click');
} else {
clickButton = true;
$('.button3').trigger('click');
}
}, 5000);
好的答案已经发布了。这是另一个:
setInterval(function() {
$('.button2').trigger('click');
}, 10000);
setTimeout(function() {
setInterval(function() {
$('.button3').trigger('click');
}, 10000);
}, 5000);
这将立即启动第一个间隔,并在5秒后启动第二个间隔,最终结果是每10秒运行两个间隔,但偏移5秒。
相关文章:
- Fancybox是否将Click事件静音
- jQuery:.click(function(){(element),collapse('show',f
- node.js:setInterval()正在跳过调用
- setInterval和clearInterval javascript无法按需工作
- Don'我不明白为什么我的setInterval+jQuery;不起作用
- setInterval游戏循环的范围问题
- Angular,表达式{{}}的结果没有插入到ng-click中
- 具有相同类的jquery-click元素
- Ng隐藏在Ng-click元素之外
- JavaScript setInterval problems
- document.getElementById(“st”).click();不起作用
- setinterval() 和 .click() 在 Greasemonkey 脚本中
- setInterval内的HTML Click事件
- 如何在 addEventListener('click')上的 SetInterval 中乘以函数;
- Javascript:将JQuery click与setInterval结合使用时不起作用
- 在setInterval()中触发('click')
- 如何暂停.setinterval()悬停和.click()的内部内容
- 我需要一个button click而不是setInterval
- setInterval没有在click()函数内运行
- 如何将 setInterval 和 .on(“click”) 函数连接在一起