Jquery:A链接点击重新绑定功能

时间:2012-08-18 15:25:18

标签: javascript jquery function bind unbind

我有一个菜单显示点击(类似于fb移动菜单)。当您单击视口上的任意位置时,菜单会再次隐藏并且链接被禁用(我想取消绑定链接,因为如果没有此单击函数未绑定,我的视口上的链接将无法工作)

然而,当我点击showmenu按钮时,我希望能够再次绑定视口点击。

$(function(){
var menuStatus;

$("a.showMenu").click(function(){
    if(menuStatus != true){             
    $("#menu").animate({
        height: "44px",
      }, 300, function(){menuStatus = true});
      return false;
      } else {
        $("#menu").animate({
        height: "0px",
      }, 300, function(){menuStatus = false});
        return false;
      }
});
$("#viewport").bind('click.navclose', function(){ 
$(this).unbind('click.navclose');  
if(menuStatus = true){     
        $("#menu").animate({
        height: "0px",
      }, 300, function(){menuStatus = false});
        return false;
    }
});

});

1 个答案:

答案 0 :(得分:0)

试试这个,希望有意义

$(function() {
    var menuStatus;

    $("a.showMenu").click(function() {
        $("#viewport").bind('click', handler);
        if (menuStatus != true) {
            $("#menu").animate({
                height: "44px",
            }, 300, function() {
                menuStatus = true
            });
            return false;
        } else {
            $("#menu").animate({
                height: "0px",
            }, 300, function() {
                menuStatus = false
            });
            return false;
        }
    });
    $("#viewport").bind('click', handler);

    var handler = function() {
        $(this).unbind('click');
        if (menuStatus = true) {
            $("#menu").animate({
                height: "0px",
            }, 300, function() {
                menuStatus = false
            });
            return false;
        }
    }
});​

look at the updated demo