2011-01-16 6 views
0

드롭 그림자를 제거하려는 메뉴 버튼이 있습니다. 이 아니라이 먼저 메뉴 객체를 인스턴스화해야합니다 (DOM에 div를 첨부하도록 지정해야하므로). JS에서 메뉴를 인스턴스화 할 수 있지만 다음을 통해 그림자를 제거하려고하면 : this.menuButton.getMenu().cfg.setProperty('shadow', false); 그림자가 계속 나타납니다. JS 디버거에서 cfg 객체를 검사하고 shadow가 false로 설정되었지만 그림자가 계속 나타납니다.런타임시 YUI 메뉴에서 그림자를 제거하려면 어떻게합니까?

또 다른 옵션은 dom에서 shadow div를 제거하는 것이지만 올바른 일은 아닌 것 같습니다.

답변

0

결국 DOM을 만들면서 내 메뉴를 유지하려고했습니다. 레이아웃이 그리 강력하지 않기 때문에 (그래픽 디자이너에게 아웃소싱하고 코드와 작업을 통합하려고 시도했기 때문에) 처음에는 조심했습니다. 이것이 DOM에 div를 도입하고 싶지 않았던 이유입니다.

나를위한 열쇠는 레이아웃에 영향을 미치지 않는 곳에 div를 포함시키는 것이 었습니다. 원래 나는 다음과 같은 것을 보았습니다 :

<input> type="button" id="srchType" /> 
<input type="text" id="first-name" value="First Name" /> 
<input type="submit" id="profiles-search-submit" value="Search" /> 

두 입력 사이에 div를 삽입했습니다. 이게 내 레이아웃을 망 쳤어. 열쇠는 앞이나 뒤에 div를 삽입하는 것이 었습니다. 이건 내 레이아웃을 망치지 않을거야. YMMV, DOM의 민감성에 따라 다릅니다. 그들이 무엇을해야하는지 궁금해하는 사람에게 도움이되기를 바랍니다.

당신이 (당신의 사업부를 만들이) 그렇게 같은 YUI 메뉴 객체를 생성 할 수 있습니다 할 후 :

var searchMenuItems = 
    [{ text: "First Name", value: 'firstName', onclick: {fn: onMenuItemClick}}, 
    { text: "Last Name", value: 'lastName', onclick: {fn: onMenuItemClick}}]; 

var srchTypeMenuConfig = { shadow: false, 
          effect: { 
          effect: YAHOO.widget.ContainerEffect.FADE, 
          duration: .25 
          } 
         }; 
this.srchTypeMenu = new YAHOO.widget.Menu(this.searchMenuEl, 
              srchTypeMenuConfig); 
관련 문제