微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在垂直菜单上放置垂直滚动条

如何解决如何在垂直菜单上放置垂直滚动条

| 我想创建一个带有
vertical
滚动条的
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上的
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>
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。