Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在上一个事件完成之前,不要执行函数(单击)_Javascript_Jquery - Fatal编程技术网

Javascript 在上一个事件完成之前,不要执行函数(单击)

Javascript 在上一个事件完成之前,不要执行函数(单击),javascript,jquery,Javascript,Jquery,在上一步完成之前不要执行。如果快速单击,则脚本不正确。如果我多次单击,该函数将在不等待完成的情况下执行。它变得杂乱无章 $(".vid1 .next, .vid2 .next").click(function(){ $(".type2").find(".crop").find(".left").find("div:last").clone().insertAfter($(".type1").find(".crop").find(".left").find("div:last"))

在上一步完成之前不要执行。如果快速单击,则脚本不正确。如果我多次单击,该函数将在不等待完成的情况下执行。它变得杂乱无章

$(".vid1 .next, .vid2 .next").click(function(){
        $(".type2").find(".crop").find(".left").find("div:last").clone().insertAfter($(".type1").find(".crop").find(".left").find("div:last"));
        $(".type2 .crop .left div:first").animate({marginLeft: '0px'}, 0);
        $(".type1").find(".crop").find(".left").find("div:first").clone().insertBefore($(".type2").find(".crop").find(".left").find("div:first"));
        $(".type2").find(".crop").find(".left").find("div:first").animate({marginLeft: '0px'}, 0);
        $(".type1").find(".crop").find(".left").find("div:first").animate(
            {marginLeft: '0px'}, {
            duration: 500,
            complete: function() { 
            $(".type1").find(".crop").find(".left").find("div:first").remove();
            $(".type1").find(".crop").find(".left").find("div:first").animate({marginLeft: '208px'}, 0);
            }
            }); 
        $(".type2").find(".crop").find(".left").find("div:first").animate(
            {marginLeft: '208px'}, {
            duration: 500,
            complete: function() { 
            $(".type2").find(".crop").find(".left").find("div:last").remove();
            }
            }); 
    });

尝试先禁用按钮,然后在完成后启用按钮

$(".vid1 .next, .vid2 .next").click(function(){
 $(this).attr("disabled", true);   
 $(".type2").find(".crop").find(".left").find("div:last").clone().insertAfter($(".type1").find(".crop").find(".left").find("div:last"));
        $(".type2 .crop .left div:first").animate({marginLeft: '0px'}, 0);
        $(".type1").find(".crop").find(".left").find("div:first").clone().insertBefore($(".type2").find(".crop").find(".left").find("div:first"));
        $(".type2").find(".crop").find(".left").find("div:first").animate({marginLeft: '0px'}, 0);
        $(".type1").find(".crop").find(".left").find("div:first").animate(
            {marginLeft: '0px'}, {
            duration: 500,
            complete: function() { 
            $(".type1").find(".crop").find(".left").find("div:first").remove();
            $(".type1").find(".crop").find(".left").find("div:first").animate({marginLeft: '208px'}, 0);
            }
            }); 
        $(".type2").find(".crop").find(".left").find("div:first").animate(
            {marginLeft: '208px'}, {
            duration: 500,
            complete: function() { 
            $(".type2").find(".crop").find(".left").find("div:last").remove();
            }
            }); 
  $(this).removeAttr("disabled");
    });

您可以在开始单击时将变量初始化为True,然后将其完全返回到False

每次单击时,检查是否为真,然后退出该函数

var isClicking=false;

$(".vid1 .next, .vid2 .next").click(function(){

  if(isClicking)
   return;
   isClicking=true;
        $(".type2").find(".crop").find(".left").find("div:last").clone().insertAfter($(".type1").find(".crop").find(".left").find("div:last"));
        $(".type2 .crop .left div:first").animate({marginLeft: '0px'}, 0);
        $(".type1").find(".crop").find(".left").find("div:first").clone().insertBefore($(".type2").find(".crop").find(".left").find("div:first"));
        $(".type2").find(".crop").find(".left").find("div:first").animate({marginLeft: '0px'}, 0);
        $(".type1").find(".crop").find(".left").find("div:first").animate(
            {marginLeft: '0px'}, {
            duration: 500,
            complete: function() { 
            $(".type1").find(".crop").find(".left").find("div:first").remove();
            $(".type1").find(".crop").find(".left").find("div:first").animate({marginLeft: '208px'}, 0);
            }
            }); 
        $(".type2").find(".crop").find(".left").find("div:first").animate(
            {marginLeft: '208px'}, {
            duration: 500,
            complete: function() { 
            $(".type2").find(".crop").find(".left").find("div:last").remove();
            isClicking=false;
            }
            }); 
    });