2014-02-07 46 views
0

我目前在網站上有一個sidemenu。可以通過懸停特定區域來打開側面菜單,如果未懸停,則會關閉。這工作正常,但我也希望它打開,如果我點擊一個特定的區域,這也適用。但如果再次點擊此區域,我希望它再次關閉,這是我現在的問題。如何切換和懸停側邊菜單?

$.fn.boxLid = function(options){ 
    var box = new BoxLid(options); 
    return this.each(function(){ 
    $(this).hover(box.open, box.close) && $('#id').click(box.open); 
    }); 
}; 

我使用的點擊功能,到目前爲止,因爲.toggle(box.open,box.close);將無法工作。有人有想法嗎?提前致謝!

+2

創建[的jsfiddle(http://fiddle.jshell.net/)演示 – rynhe

回答

0

沒有jQuery第二點擊處理程序,所以你可能想用一個指標來完成這件事。事情是這樣的:

$.fn.boxLid = function (options) { 
    var box = new BoxLid(options); 
    var open = false; 
    return this.each(function() { 
     $(this).hover(box.open, box.close); 
     $('#id').click(function(){ 
      if(open){ 
      box.close; 
      open = false; 
      }else{ 
      box.open 
      open = true; 
      } 
     }); 
    }); 
};