2011-04-15 49 views
5

我想創建一個帶有vertical滾動條的dijit菜單。如何在dijit菜單上放置垂直滾動條

我試着這樣做:

pMenu = new dijit.Menu({ 
      templateString: '<div style="height: 75px; overflow-y: auto; overflow-x:hidden">' + dojo.cache("dijit", "templates/Menu.html") + '</div>' 
     }); 

當我這樣做,垂直滾動條出現,但寬度是小的(它沒有擴大到佔滾動條的寬度)。

有沒有更好的方法來做到這一點?我基本上是想在dijit.menu

回答

0

這是一個maxHeight屬性只是一個想法,告訴你如何能檢測元素滾動條存在:

<html> 
    <head> 
     <title>Detect Scrollbars Presence</title> 
     <script type="text/javascript"> 
      function verticalScrollBarExists(id) 
      { 
       var element = document.getElementById(id); 
       oldScrollTop = element.scrollTop; 
       element.scrollTop = 1; 
       if (element.scrollTop > 0) 
       { 
        element.scrollTop = oldScrollTop; 
        document.getElementById('scrollStatus').innerHTML = 'scroll bar visible'; 

        // increase element width 
        element.style.width = '310px'; 
       } 
       else 
       { 
        document.getElementById('scrollStatus').innerHTML = 'scroll bar not visible'; 

        // restore element width 
        element.style.width = '300px'; 
       } 
      } 

      function add() 
      { 
       var element = document.getElementById('testElement'); 
       element.innerHTML = element.innerHTML + ' Stuff'; 
      } 

      function remove() 
      { 
       var element = document.getElementById('testElement'); 
       element.innerHTML = element.innerHTML.substring(0, element.innerHTML.length - 6); 
      } 

      window.onload = function() 
      { 
       setInterval('verticalScrollBarExists("testElement")', 500); 
      }; 
     </script> 
     <style type="text/css"> 
      #testElement 
      { 
       width: 300px; 
       height: 40px; 
       background-color: blue; 
       color: white; 
       overflow: auto; 
      } 
     </style> 
    </head> 
    <body> 
     <div id="testElement">Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff</div> 
     <div id="scrollStatus">Uninitialised</div> 
     <input type="button" onclick="add()" value="Add" /> 
     <input type="button" onclick="remove()" value="Remove" /> 
    </body> 
</html>