【发布时间】:2014-10-23 17:32:36
【问题描述】:
正如有人在my previous question 中建议我的那样,我正在使用 jquery 来进行 div 移动。
现在我希望它在距离左边距 200 像素时停止。
为此,我使用以下代码:
var timeout = 100;
var width = 200;
var height = 500;
var howmuch = 0;
function move(before) {
howmuch = before + 5;
$("#obj").animate({'marginLeft' : '+=' + howmuch + 'px' } );
if(howmuch < width){
setTimeout(function() {
move(howmuch)
}, timeout);
}
else{alert('finished');
}
}
setTimeout(function() {
move(howmuch)
}, timeout);
#obj {
background-color: red;
width: 100px;
height: 100px;
margin-left: 0px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="obj"></div>
但这不起作用:当框达到 200 像素时,我会收到警报,但它不会停止。
可能是什么问题?
【问题讨论】:
-
两个 cmets:您应该有 edited 您的其他问题,而不是发布新问题,但如果您打算发布新问题,您应该提供一个链接你的“其他问题”。
-
@Goodword 感谢您指出这一点,我将链接我的问题,但它不包括那个具体问题,它只是关于如何使用 jquery 移动 div 而不是关于如何使其在到达确定位置时停止。我是否应该编辑旧问题?
标签: javascript jquery html jquery-animate settimeout