Jquery 设置自动单击菜单的间隔
我有以下结构Jquery 设置自动单击菜单的间隔,jquery,click,setinterval,Jquery,Click,Setinterval,我有以下结构 <div id="displaySlider"> <div class="slideItem" id="idA">....</div> <div class="slideItem" id="idB">....</div> <div class="slideItem" id="idC">....</div> <div class="slideItem" id="idD">.
<div id="displaySlider">
<div class="slideItem" id="idA">....</div>
<div class="slideItem" id="idB">....</div>
<div class="slideItem" id="idC">....</div>
<div class="slideItem" id="idD">....</div>
</div>
<ul id="menuSlider">
<li><a href="#" rel="pintor"></a></li>
<li><a href="#" rel="pedreiro"></a></li>
<li><a href="#" rel="marceneiro"></a></li>
<li><a href="#" rel="gesseiro"></a></li>
</ul>
....
....
....
....
加载页面时,我单击第一项$('menuSlider li a:first')。触发器('click')代码>
我需要每X秒创建一个jquery,单击下一项并返回到第一项的最后一项。如果我正确理解您的问题,我想您可以这样做:
var links = $('#menuSlider a');
var currentIndex = -1;
var click = function() {
currentIndex++;
if (links.length == currentIndex) {
currentIndex = 0;
}
$(links[currentIndex]).trigger('click');
console.log(links[currentIndex]);
};
if (links.length) {
setInterval(click, 1000);
}
如果我正确理解你的问题,我想你可以这样做:
var links = $('#menuSlider a');
var currentIndex = -1;
var click = function() {
currentIndex++;
if (links.length == currentIndex) {
currentIndex = 0;
}
$(links[currentIndex]).trigger('click');
console.log(links[currentIndex]);
};
if (links.length) {
setInterval(click, 1000);
}
谢谢大家!!
正是这样。
我做了一个小改动,当鼠标移动到屏幕区域时,停止转换滑块:
var links = $('#menuSlider a');
var currentIndex = -1;
var click = function() {
currentIndex++;
if (links.length == currentIndex) {
currentIndex = 0;
}
$(links[currentIndex]).trigger('click');
console.log(links[currentIndex]);
};
if (links.length) {
interval = setInterval(click, 2000);
}
$('#wrapSlider').hover(function() {
interval = clearInterval(interval);
}, function() {
interval = setInterval(click, 2000);
});
谢谢大家!!
正是这样。
我做了一个小改动,当鼠标移动到屏幕区域时,停止转换滑块:
var links = $('#menuSlider a');
var currentIndex = -1;
var click = function() {
currentIndex++;
if (links.length == currentIndex) {
currentIndex = 0;
}
$(links[currentIndex]).trigger('click');
console.log(links[currentIndex]);
};
if (links.length) {
interval = setInterval(click, 2000);
}
$('#wrapSlider').hover(function() {
interval = clearInterval(interval);
}, function() {
interval = setInterval(click, 2000);
});
嘿,丹尼洛,既然你是新来的,我就给你一些建议。在这种情况下,请将答案标记为正确,并考虑如何在评论中改进答案。你不应该重复这样的答案,当有有效的答案时,你应该避免回答自己的问题。嘿,丹尼洛,既然你是新来的,我就给你一些提示。在这种情况下,请将答案标记为正确,并考虑如何在评论中改进答案。你不应该重复这样的答案,当有有效答案时,你应该避免回答自己的问题。