【发布时间】:2014-03-18 09:46:35
【问题描述】:
我想在 jQuery 中使用动画左右滑动 div。 到目前为止,我在this fiddle 中包含以下内容。
问题在于,每次我向左或向右单击时,我的变量 left 都会返回到 onload 的原始位置,而不是其当前位置。我在这里做错了什么?我希望它在每次点击时向左移动,或者在每次点击时从当前位置向右移动。
<div id="yellowbox"></div>
<div id="left">left</div>
<div id="right">right</div>
<script>
var left = $('#yellowbox').offset().left;
console.log(left);
jQuery(document).on('click', '#left', function(event) {
$("#yellowbox").css({left:left}).animate({"left": (left -50)}, "slow");
});
jQuery(document).on('click', '#right', function(event) {
$("#yellowbox").css({left:left}).animate({"left": (left +50)}, "slow");
});
</script>
<style>
#yellowbox {
width: 50px;
height: 50px;
position: absolute;
top: 0;
right: 550px;
background: yellow;
}
</style>
【问题讨论】:
标签: javascript jquery html css jquery-animate