2014-02-07 3 views
0

현재 웹 사이트에 사이드 메뉴가 있습니다. 사이드 메뉴는 특정 영역을 가리키면 열리 며, 마우스 오버하면 취소됩니다. 이것은 잘 작동하지만 특정 영역을 클릭하면 열리기도합니다. 그러나이 지역을 다시 클릭하면 다시 닫히고 싶습니다. 그리고 이것이 바로 지금 제 문제입니다.사이드 메뉴를 전환하고 가져 오는 방법은 무엇입니까?

$.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; 
      } 
     }); 
    }); 
}; 
관련 문제