什么是stop()函数呢?

时间:2015-03-19 21:39:28

标签: javascript jquery

stop()函数做什么..?这是为了什么? 谁可以解释为什么它在这里使用...我知道什么是停止()功能但在这里我不明白whay在那里...... Thx Elod

 <script type="text/javascript">
    $(function() {
        var offset = $("#sidebar").offset();
        var topPadding = 15;
        $(window).scroll(function() {
            if ($(window).scrollTop() > offset.top) {
                $("#sidebar").stop().animate({
                    marginTop: $(window).scrollTop() - offset.top + topPadding
                });
            } else {
                $("#sidebar").stop().animate({
                    marginTop: 0
                });
            };
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

根据the documentation for .stop()

  

描述:停止匹配的当前运行的动画   元件。

     

在元素上调用.stop()时,当前正在运行的动画   (如果有的话)立即停止。例如,如果有一个元素   隐藏.slideUp()当调用.stop()时,该元素将立即生效   仍然显示,但将是其先前高度的一小部分。   不调用回调函数。

换句话说,在您的示例中,停止了标识为#sidebar的元素的所有动画,然后立即启动新动画。

此外,为什么首先需要它?使新动画瞬间发生。同样,来自documentation

  

如果在同一个元素上调用多个动画方法,则   以后的动画放置在元素的效果队列中。   这些动画直到第一个动画完成才会开始。当调用.stop()时,队列中的下一个动画会立即开始。