Javascript jQuery停止点击垃圾邮件

Javascript jQuery停止点击垃圾邮件,javascript,jquery,click,jquery-animate,Javascript,Jquery,Click,Jquery Animate,我使用jQuery制作两个图像箭头来滑动div。我注意到,在点击垃圾广告时,这些部门的利润完全被弄乱了,他们无法回到规定的位置。通过一些搜索,我得到了以下代码: var is_clicked = false; $("#arrow_r").click(function(){ if (is_clicked == true){ return; } is_clicked = true; var $img_bl

我使用jQuery制作两个图像箭头来滑动div。我注意到,在点击垃圾广告时,这些部门的利润完全被弄乱了,他们无法回到规定的位置。通过一些搜索,我得到了以下代码:

var is_clicked = false;
    $("#arrow_r").click(function(){
        if (is_clicked == true){
            return;
        }
        is_clicked = true;
        var $img_block = $('.photoBlock:visible');//current
        if ($img_block.next().length > 0){
            $img_block.animate({
                    marginLeft:-$('#server_photo_listing').outerWidth()
                },function(){
                    is_clicked = true;
                    var $img_block = $('.photoBlock:visible');//current
                    var $img_block_next = $img_block.next();//next
                    $img_block.css("display","none");
                    $img_block_next.css("display","inherit");
                    $img_block_next.animate({
                        marginLeft:0
                    }
                    );
                    is_clicked = false;
                  });
        }

    });

    $("#arrow_l").click(function(){
        if (is_clicked == true){
            return;
        }
        is_clicked = true;
        var $img_block = $('.photoBlock:visible');//current
        if ($img_block.prev().length > 0){
            $img_block.animate({
                    marginLeft:$('#server_photo_listing').outerWidth() 
                }, function(){
                    is_clicked = true;
                    var $img_block = $('.photoBlock:visible');//current
                    var $img_block_prev = $img_block.prev();//previous
                    $img_block.css("display","none");
                    $img_block_prev.css("display","inherit");
                    $img_block_prev.animate({
                        marginLeft:0
                    }
                    );
                    is_clicked = false;
                  });
        }
    });
虽然当我在第二个箭头上使用它时,一开始它工作正常,但在一些点击垃圾邮件测试之后,变量
被点击
保持
为真
,因此滑动停止

我还必须说,箭头也用在另一个DIV中,该DIV位于
显示屏上:none
——以防它有任何重要性。而且,上面所有的代码都包含更多的函数,它们位于一个main
$(function(){})中-如果有任何重要性,请再次输入


有什么想法吗?

您可以绑定和解除绑定此元素上的clack事件

首先创建两个函数,在事件处解除单击事件的绑定,在动画完成处重新绑定事件

var go_right = function(){
    $("#arrow_r").unbind('click');
    var $img_block = $('.photoBlock:visible');//current
    if ($img_block.next().length > 0){
        $img_block.animate({
            marginLeft:-$('#server_photo_listing').outerWidth()
        },function(){
            var $img_block = $('.photoBlock:visible');//current
            var $img_block_next = $img_block.next();//next
            $img_block.css("display","none");
            $img_block_next.css("display","inherit");
            $img_block_next.animate({
                marginLeft:0
            }, function () {
                $("#arrow_r").bind('click', go_right);
            });
        });
    }
};
var go_left = function(){
    $("#arrow_l").unbind('click');
    var $img_block = $('.photoBlock:visible');//current
    if ($img_block.prev().length > 0){
        $img_block.animate({
        marginLeft:$('#server_photo_listing').outerWidth() 
        }, function(){
            var $img_block = $('.photoBlock:visible');//current
            var $img_block_prev = $img_block.prev();//previous
            $img_block.css("display","none");
            $img_block_prev.css("display","inherit");
            $img_block_prev.animate({
                marginLeft:0
            }, function () {
                $("#arrow_l").bind('click', go_left);
            });
        });
    }
};

$("#arrow_r").bind('click', go_right);
$("#arrow_l").bind('click', go_left);

希望对您有所帮助

首先,我会将这些处理程序合并为一个处理程序-它们几乎相同。谢谢您的回复。不幸的是,我得到了同样的结果。当我在一段时间后点击其中一个箭头时,两个箭头都停止工作。