Javascript 如何在最后使用jQuery重置脚本?
我正在尝试向上滑动三个Javascript 如何在最后使用jQuery重置脚本?,javascript,jquery,Javascript,Jquery,我正在尝试向上滑动三个li,接下来的三个li将显示一次上一个li向上滑动。这是正常工作。我在循环结束时面临问题,我的意思是所有li向上滑动,然后需要一些时间重新开始,我想快速重置 <div id="content"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <
li
,接下来的三个li
将显示一次上一个li
向上滑动。这是正常工作。我在循环结束时面临问题,我的意思是所有li
向上滑动,然后需要一些时间重新开始,我想快速重置
<div id="content">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</div>
谁能指导我怎么做
您需要更新
if
条件。如果该值等于或大于(li length)-1
,则应从头开始
var i=2,
$ul=$(“#内容ul”),
int=setInterval(函数(){
$('li',$ul).slideUp();
$('li'+(i==-1?'':':gt('i+'))+':lt(3)'$ul.slideDown();
i+=3;
如果(i+1>=$('li',$ul).length)i=-1;
// ----^----
},
2000);代码>
#内容ul li:n个孩子(n+4){
显示:无
}
- 一,
- 二,
- 三,
- 四,
- 五,
- 六,
- 七,
- 八,
- 九,
这可能适用于您的要求,请设置时间延迟:
var i = 2,
$ul = $('#content ul');
var timer; // current timeout id to clear
var timeDelay = 2000; // dynamic interval
function showEm() {
$('li', $ul).slideUp();
$('li' + (i == -1 ? '' : ':gt(' + i + ')') + ':lt(3)', $ul).slideDown();
i += 3;
if (i >= $('li', $ul).length) i = -1;
if (i == -1) {
timeDelay = 10;
} else {
timeDelay = 2000;
}
}
(function repeat() {
showEm();
timer = setTimeout(repeat, timeDelay);
})();
如果要减少中的时间,请减少设置的间隔时间sliding@DharaParmar如果我减少setInterval()
的时间,它将在所有动画上实现
var i = 2,
$ul = $('#content ul');
var timer; // current timeout id to clear
var timeDelay = 2000; // dynamic interval
function showEm() {
$('li', $ul).slideUp();
$('li' + (i == -1 ? '' : ':gt(' + i + ')') + ':lt(3)', $ul).slideDown();
i += 3;
if (i >= $('li', $ul).length) i = -1;
if (i == -1) {
timeDelay = 10;
} else {
timeDelay = 2000;
}
}
(function repeat() {
showEm();
timer = setTimeout(repeat, timeDelay);
})();