我有这个javascript代码:
var listitem = $(".landkaart > ul > li"),
len = listitem.length,
index = 0;
$(".landkaart > ul > li:first").addClass('open');
setInterval( function() {
$(".landkaart > ul > li").removeClass('open');
if( ( index + 1 ) >= len )
{
index = 0;
$(".landkaart > ul > li:first").addClass('open');
}
else
{
listitem.eq( index ).next().addClass('open');
}
index++;
}, 5000);
我有html,
<div class="landkaart">
<ul>
<li><a class="doetinchem" title="Vestiging Doetinchem" href="vestigingen.html">Doetinchem</a>
<div class="doetinchem">
<div class="pijl"></div>
<ul>
<li><h2>Doetinchem</h2></li>
<li>Gildenbroederslaan 4</li>
<li>Postbus 196</li>
<li>7000 AD Doetinchem</li>
<li>Telefoon (0314) 37 70 00</li>
<li>Telefax (0314) 37 70 05</li>
<li><a class="email" href="mailto:doetinchem@kabaccountants" title="Stuur een mail naar: doetinchem@kabaccountants">doetinchem@kabaccountants</a></li>
</ul>
</div>
</li>
</ul>
</div>
html有比现在显示更多的li项目。但现在我的问题。 现在.landkaart ul li项目旋转。超过5秒,你会看到一个新的礼物项目。 但现在必须javascript播种。那当我徘徊“.landkaart a”the landkaart&gt;李必须表现出来 间隔必须停止。当我使用鼠标时。然后必须重新开始间隔。
答案 0 :(得分:0)
我会这样做:
将鼠标悬停/输出事件添加到li元素
var keepRotating = true;
function rotate() {
if(!keepRotating) return;
$(".landkaart > ul > li").removeClass('open');
if( ( index + 1 ) >= len )
{
index = 0;
$(".landkaart > ul > li:first").addClass('open');
}
else
{
listitem.eq( index ).next().addClass('open');
}
index++;
}
$(".landkaart > ul > li").mouseover(function(){
keepRotating = false;
$(".landkaart > ul > li").removeClass('open');
$(this).addClass('open');
index = $(".landkaart > ul).index(this);
});
$(".landkaart > ul > li").mouseout(function(){
keepRotating = true;
});
setInterval( rotate(), 5000);