我在这里遇到了这个问题javascript - 需要 onclick 在点击再次工作之前走完整的距离,我似乎无法弄清楚如何让它工作。所以我将继续计划 B,即尝试在滚动中从一个 div 转到另一个 div。目前,我的 HTML 看起来像这样:
HTML
<div class="outerwrapper">
<div class="innerwrapper">
<div class="holder"></div>
<div class="holder"></div>
<div class="holder"></div>
<div class="holder"></div>
<div class="holder"></div>
<div class="holder"></div>
</div>
</div>
<div class="buttons">
<div id="left">
<div id="right">
</div>
Javascript
$(function () { // DOM READY shorthand
$("#right, #left").click(function () {
var dir = this.id == "right" ? '+=' : '-=';
$(".outerwrapper").stop().animate({ scrollLeft: dir + '251' }, 1000);
});
});
所以目前我试图让它先移动完整的 251px,然后再触发另一个点击事件。问题是当用户多次单击箭头时,它会重置事件并从滚动中重新开始,因此它可以从帧中间开始并在帧中间结束,而不是从帧到帧. 由于我无法弄清楚如何让javascript首先完成它的动作,所以它会在事件再次发生之前达到完整的261 px,我想知道有没有办法从 div 转换到 div 以便用户可以点击他们喜欢的次数,它会从 div 平滑过渡到 div 并且一旦完成就不会在中间结束?