【发布时间】:2015-04-19 08:17:38
【问题描述】:
我有一个绝对定位的 div,它使用 jQuery .animate 函数从屏幕的右到左水平移动。 我的问题是,一旦 div 到达最左侧,它就会继续并最终从屏幕上消失。你是如何做到的,一旦 div 到达左侧,它就会反转并开始向右移动? (反之亦然,这样右侧就不会继续向右,而是在到达终点后再次向左)
HTML:
<div class="container">
<div class="block"></div>
</div>
CSS:
.block {
float:right;
position:absolute;
right:100px;
width:100px;
height:100px;
background:red;
}
jQuery:
$('.block').click(function() {
$(this).animate(
{"right": "+=100px"},"slow");
});
这是我的 JSFiddle:https://jsfiddle.net/ebkc9dzL/
非常感谢您的帮助!
【问题讨论】:
-
您可能想从考虑碰撞检测开始。 jQuery 提供了一个number of plugins。
-
您可以使用变量与它进行比较并检查条件。如果右大于该变量则什么也不做,如果较慢则对其进行动画处理
-
浏览器的一侧,而不是您所说的屏幕一侧。
标签: javascript jquery css