jQuery .click奇怪的行为

时间:2013-11-26 09:42:11

标签: javascript jquery

我有一个元素,点击jQuery .click方法调用了一些函数。功能体内有一个条件。当我一次点击一个元素时,一切都顺利运行,但是如果我快速点击两次,那么应该停止一个函数的条件就不会运行,并且该函数执行两次而不是一次。所以就像点击累积一样。如何防止.click方法的这种行为?

$(".collections_pager_right").click(function() {
    if (collections_wrapper_left > 0 - collections_wrapper_width + 770) {
        $(".collections_slider_wrapper").animate({left: "-=770"}, 400);
    };
});

1 个答案:

答案 0 :(得分:0)

尝试在元素中添加类似running =“false”的属性,之后您可以检查它。

$(".collections_pager_right").click(function() {
    if($(this).attr('running') == 'false'){
     $(this).attr('running','true');
     if (collections_wrapper_left > 0 - collections_wrapper_width + 770) {
        $(".collections_slider_wrapper").animate({left: "-=770"}, 400, function(){
          $(this).attr('running','false');               
        });
     };
    }
});