关于if循环问题,有点长,求有空的大神解答一下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
}
#ul1{
list-style: none;
width: 300px;
height: auto;
float: left;
border-top: 1px solid #000000;
margin:20px;
}
li{
width: 100%;
height: 30px;
overflow: hidden;
position:relative;
border-bottom: 1px dashed #333333;
line-height: 30px;
}
li div{
position:absolute;
top:-30px
}
li div p{
height: 30px;
}
</style>
</head>
<body>
<ul id="ul1">
<li>
<div>
<p>11111111111</p>
<p>22222222222</p>
</div>
</li>
<li>
<div>
<p>33333333333</p>
<p>44444444444</p>
</div>
</li>
<li>
<div>
<p>55555555555</p>
<p>66666666666</p>
</div>
</li>
<li>
<div>
<p>77777777777</p>
<p>88888888888</p>
</div>
</li>
<li>
<div>
<p>99999999999</p>
<p>aaaaaaaaaaa</p>
</div>
</li>
<li>
<div>
<p>bbbbbbbbbbb</p>
<p>ccccccccccc</p>
</div>
</li>
</ul>
</body>
<script src="../jQueryUI/jquery-3.1.1.min.js"></script>
<script>
$(function () {
var i=0;
var But=true;
setInterval(function () {
var int=setInterval(function () {
if(But){
$('div').eq(i).animate({top:0},'slow');
i++;
}
else if(!But){
$('div').eq(i).animate({top:-30},'slow');
i++;
}
else if(i==$('div').length){
clearInterval(int);
i=0;
But=!But;
}
},400);},1000)
})
</script>
</html>
这是一个百叶窗效果,js部分为什么上面参数为1000的定时器会实效,而下面的我把if和else的位置调整了一下,又可以执行,想不通,头都大了;下面的是可以执行的
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<script>
$(function () {
var i=0;
var But=true;
setInterval(function () {
var int=setInterval(function () {
if(i==$('div').length){
clearInterval(int);
i=0;
But=!But;
}
else if(But){
$('div').eq(i).animate({top:0},'slow');
i++;
}
else if(!But){
$('div').eq(i).animate({top:-30},'slow');
i++;
}
},400);},1000)
})
</script>