zoukankan      html  css  js  c++  java
  • 滚动TreeView滚动条到被选中节点

    原文:http://www.cnblogs.com/micromouse/archive/2008/03/03/1089059.html

        选择TreeView节点,页面回送刷新后,滚动条自动回到TreeView顶部,而不是被选中节点处,使节点在Treeview可视区域可见,可以利用scrollIntoView方法使TreeView中页面刷新后自动定位到被选择节点处,使被选择节点可见,方法如下:

    <!--Treeview定义页面-->
    <body onload="ScrollToSelectNode();">
        。。。。。。
        <div id="divScroll" style="overflow-y:auto;overflow-x:auto;WIDTH: 250px;height:400px;">
            <asp:TreeView ID="tvAssetKind" runat="server" Width="100%" ExpandDepth="1">
            </asp:TreeView>
        </div>
        。。。。。。
    </body>

    <!--JS处理方法-->
    <script language="javascript" type="text/javascript">          
        
    //滚动到选择节点
        function ScrollToSelectNode()
        {
            try
            {
                var elem = document.getElementById('tvAssetKind_SelectedNode');
                if(elem != null )
                {
                    var node = document.getElementById(elem.value);
                    if(node != null)
                    {
                        
    //滚动被选择节点到TreeView顶部
                        node.scrollIntoView();
                        
                        
    //使被选择节点距离TreeView顶部10,使被选择节点可见
                        document.getElementById("divScroll").scrollLeft = 0;
                        document.getElementById("divScroll").scrollTop -= 10;
                    }
                }
            }
            catch(oException)
            {
            }
        }        
    </script>

    scrollTop、scrollLeft、scrollWidth、scrollHeight

    scrollTop 是“卷”起来的高度值,示例:

    <div style="100px;height:100px;background-color:#FF0000;overflow:hidden;" id="p">
        <div style="50px;height:300px;background-color:#0000FF;" id="t">
            如果为 p 设置了 scrollTop,这些内容可能不会完全显示。
        </div>
    </div>

    <script type="text/javascript">
        var p = document.getElementById("p");
        p.scrollTop = 10;
    </script>

    由于为外层元素 p 设置了 scrollTop,所以内层元素会向上卷。
    scrollLeft 也是类似道理。
    我们已经知道 offsetHeight 是自身元素的宽度。
    而 scrollHeight 是内部元素的绝对宽度,包含内部元素的隐藏的部分。
    上述中 p 的 scrollHeight 为 300,而 p 的 offsetHeight 为 100。
    scrollWidth 也是类似道理。

  • 相关阅读:
    笔试题集
    qs库使用指南
    如何打造难用,bug多的产品
    history路由模式下的nginx配置
    监听器Listener
    过滤器Filter
    表单重复提交问题
    验证码原理及验证
    Git的使用
    JavaWeb的登陆与注销功能
  • 原文地址:https://www.cnblogs.com/vagerent/p/1338275.html
Copyright © 2011-2022 走看看