• 滚动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 也是类似道理。

  • 相关阅读:
    File Types过滤Maven项目目录
    Idea中main方法不能正常运行
    《Effective C++》rule 02: Prefer consts, enums, and inlines to #defines
    《Effective C++》 rule 03: Use const whenever possible
    《Effective C++》rule 01: View C++ as a federation of languages
    洛谷B2001 入门测试题目
    SecurityRandom随机数生成
    Java垃圾回收(GC)机制详解
    如何在 Linux 上查找哪个线程cpu利用率最高
    win10自动更新关闭
  • 原文地址:https://www.cnblogs.com/vagerent/p/1338275.html
Copyright © 2020-2023  润新知