Jquery 防止双击动画,但再次允许

Jquery 防止双击动画,但再次允许,jquery,Jquery,我有一个隐藏的固定菜单,当我单击#菜单触发器时,它会从页面的侧面拉出菜单。如果单击#菜单触发器或#菜单覆盖,则会再次隐藏菜单。当我单次或双击#菜单触发器时,它会隐藏菜单并运行动画一次,但当我双击#菜单覆盖时,它会动画两次将所有内容从页面上滑下太多 我尝试过使用.one-click功能,但当我重新打开菜单时,我无法使用覆盖关闭它 jQuery('#menu-trigger').click(function() { if ($(this).css('margin-right') == '25

我有一个隐藏的固定菜单,当我单击#菜单触发器时,它会从页面的侧面拉出菜单。如果单击#菜单触发器或#菜单覆盖,则会再次隐藏菜单。当我单次或双击#菜单触发器时,它会隐藏菜单并运行动画一次,但当我双击#菜单覆盖时,它会动画两次将所有内容从页面上滑下太多

我尝试过使用.one-click功能,但当我重新打开菜单时,我无法使用覆盖关闭它

jQuery('#menu-trigger').click(function() {
    if ($(this).css('margin-right') == '250px') {
        $('#menu').animate({
            "margin-right": '-=250'
        });
        $('#menu-trigger').animate({
            'margin-right': '-=250'
        });
        $("#skinSelectorContainer").hide();
    } else {
        $('#menu').animate({
            'margin-right': '+=250'
        });
        $('#menu-trigger').animate({
            'margin-right': '+=250'
        });
    }
    $('#menu-overlay').fadeToggle();
});


jQuery('#menu-overlay').click(function() {
    $('#menu').animate({
        "margin-right": '-=250'
    });
    $('#menu-trigger').animate({
        'margin-right': '-=250'
    });
    $('#menu-overlay').fadeToggle();
});
您可以使用:

启动新动画之前当前正在运行的动画

或者,您可以使用测试元素是否正在进行动画

jQuery(“#菜单触发器”)。在('click',函数(e){
//
//如果菜单已设置动画,则不执行任何操作并返回
//
如果($('#菜单')。是(':animated')){
log('animation prevented');
返回;
}
if($(“#菜单”).offset().left!=0){
$(“#菜单”)。设置动画({
“左”:0
}“慢”);
}否则{
$(“#菜单”)。设置动画({
“左”:($('body').width()-$('#menu').width())
}“慢”);
}
});
#菜单{
宽度:50px;
高度:50px;
位置:绝对位置;
右:0;
背景:黄色;
}

菜单触发器
您可以使用:

启动新动画之前当前正在运行的动画

或者,您可以使用测试元素是否正在进行动画

jQuery(“#菜单触发器”)。在('click',函数(e){
//
//如果菜单已设置动画,则不执行任何操作并返回
//
如果($('#菜单')。是(':animated')){
log('animation prevented');
返回;
}
if($(“#菜单”).offset().left!=0){
$(“#菜单”)。设置动画({
“左”:0
}“慢”);
}否则{
$(“#菜单”)。设置动画({
“左”:($('body').width()-$('#menu').width())
}“慢”);
}
});
#菜单{
宽度:50px;
高度:50px;
位置:绝对位置;
右:0;
背景:黄色;
}

菜单触发器

你能展示一下这个应用程序吗?我只是在学习,从来没有使用过stop()appreciated@MShack创建了一个简单的代码片段。在本例中,我更喜欢使用动画选择器。在任何情况下,如果您编写….$(“#menu”).stop().animate…..您是否可以演示此应用,我只是在学习,而且我从未使用过stop(),很多appreciated@MShack创建了一个简单的代码片段。在本例中,我更喜欢使用动画选择器。在任何情况下,如果您编写….$(“#菜单”).stop().animate….,您都可能会遇到可能发生的情况。。。。。