通过JQuery删除函数

时间:2013-01-07 22:50:01

标签: jquery javascript-events

我是新手。这是代码。

    $(window).resize(function() {
        screenlarge();
    });
    $(window).resize(function() {
        screensmall();
    });
    function screenlarge()  {
      windowsize = $(window).width();
      if (windowsize < 1040) {
          $('#wrappernav').fadeOut("fast");
          $('#sidebar').fadeOut("fast");
          $('#wrappernavbg').fadeOut("fast");
          $('#navigationon').fadeIn("fast");
    }
    } 
    function screensmall()  {
      windowsize = $(window).width();
      if (windowsize >= 1040) {
          $('#wrappernav').fadeIn("fast");
          $('#sidebar').fadeIn("fast");
          $('#wrappernavbg').fadeIn("fast");
          $('#navigationon').fadeOut("fast");   
    }
    }
$(document).ready(function(){
    $('#naviclosed').bind('click', function () {
        $('#wrappernav').fadeIn("fast");
        $('#sidebar').fadeIn("fast");
        $('#wrappernavbg').fadeIn("fast");
        $('#navigationon').fadeOut("fast");
    });
        $("#arrow").bind('click', function(){
        $('#wrappernav').fadeOut("fast");
        $('#sidebar').fadeOut("fast");
        $('#wrappernavbg').fadeOut("fast");
        $('#navigationon').fadeIn("fast");
    });
});

我的问题是当我按#arrow时如何删除screenlarge()和screensmall(),并在按#navigationon时再次添加函数。

请帮忙!谢谢!

1 个答案:

答案 0 :(得分:0)

首先,将screenlargescreensmall合并为sreenSize这样的单一函数。为了清楚起见。

要取消绑定事件,只需执行

即可
$(window).off('resize', screenSize);

如果您没有“resize”事件的其他事件处理程序,您也可以这样做:

$(window).off('resize');