如何在不需要时阻止某个函数运行多次?

时间:2015-05-11 14:05:39

标签: javascript jquery html css web

所以基本上当我多次单击“关于我”时,jquery动画会停止,因为知道它不会再次运行。

但是当我不止一次点击“我的作品集”,“网页”,“图形”和“其他”时,#box1 div就会一直向下和向下移动。你一开始没看到它,但是一旦再次按下“关于我”,你就会看到会发生什么。

如何阻止这种情况发生?

这是一个JSFiddle链接 https://jsfiddle.net/yg4717a8/1/

先谢谢你们:)

$(document).ready(function () {
    var hasSlid = false;
    $('a#hide').click(function () {
        $('#box1').animate({
                'top': '+=155px',
                easing: 'easeInOutCubic',
                opacity: 0
            }, 500,
            function () {
                $('#box1').hide();
            });


        $('#container').show();
        hasSlid = false;
    });
});

1 个答案:

答案 0 :(得分:1)

您可以使用stop来停止以前的动画。

$('#box1').stop(true, true).animate({
  

停止匹配元素上当前正在运行的动画。

文档:http://api.jquery.com/stop/

演示:https://jsfiddle.net/tusharj/yg4717a8/2/