div
应该移动9次而且应该停止。问题是它只移动一次。有人有解决这个问题的想法吗?感谢
$(document).ready(function(){
var id=1;
setInterval(move,1000);
function move(){
if($(".block").css("margin-left") < "100px"){
$(".block").animate({marginLeft: "+=10px"});
}
}
});
&#13;
.block{
padding: 15px;
background-color: orange;
float: left;
box-shadow: 0px 2px 2px #b1b1b1;
display: block;
margin-left: 0px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="block"></block>
&#13;
答案 0 :(得分:1)
"Npx" < "100px"
无效。 这些是字符串!
您应该使用parseInt()
将某些margin-left
字符串转换为数字,并且可以使用< 100
进行比较。
此外,您不需要setInterval()
,请使用.animate()
回调来回忆您的move
功能
$(document).ready(function(){
(function move(){
if( parseInt($(".block").css("margin-left"), 10) < 100) {
$(".block").delay(1000).animate({marginLeft: "+=10px"}, move);
}
}());
});
&#13;
.block{
padding: 15px;
background-color: orange;
float: left;
box-shadow: 0px 2px 2px #b1b1b1;
margin-left: 0px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="block"></block>
&#13;
P.S:它会移动10次:)