防止Javascript被执行两次

Chr*_*ris 5 html javascript jquery

我有一个我正在开发的脚本,它创建了一个滑动按钮类型的效果.五个div位于彼此旁边,每个都有一个链接.当点击其中一个DIVS时,相关内容将被扩展,其余的Div将被关闭.

问题是,如果用户在加载或快速连续点击另一个Div时点击Div两次,则会出现裂缝.

我想知道是否有可能只允许查询执行一次并等到完成而不是排队.

这是我目前的代码,如果它是废话随意评论我怎么能更好...我不是最好的Javascript/jQuery:P

    function mnuClick(x){
    //Reset all elements
    if($('#'+x).width()!=369){
        $('.menu .menu_Graphic').fadeOut(300);
        $('.menu_left .menu_Graphic').fadeOut(300);
        $('.menu_right .menu_Graphic').fadeOut(300);
        $('.menu').animate({width: "76px"},500);
        $('.menu_left').animate({width: "76px"},500);
        $('.menu_right').animate({width: "76px"},500);
    }
        var ElementId = '#' + x;

        $(ElementId).animate({
            width: 369 + "px"
        },500, function(){ 
            $(ElementId + ' .menu_Graphic').fadeIn(300);
        });
}
Run Code Online (Sandbox Code Playgroud)

谢谢,克里斯.

Dio*_*ane 9

你需要一个"isRunning"标志.在开始之前检查它.在启动序列时设置它,在它结束时清除它.