zoukankan      html  css  js  c++  java
  • [原]JavaScript动态设置滚动条高度

    工作中遇到情形如下:一个ul标签,里面有很多li标签,其中有一个代表初始化已选中的<li class="li-on"><li>。
    如果ul设置了高度,如下面的ul的style,并且有很多li子标签,那选中的li就被淹没在滚动条下面。
    <ul id="ul_module" style="height:180px; overflow-y:scroll;">
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>000</li>
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
        <li>555</li>
        <li>666</li>
        <li>777</li>
        <li>888</li>
        <li class="li-on">999</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
        <li>...</li>
    </ul>
     
    要做的就是要把这个选中的li标签,现在到可见区域内,可以通过js动态的设置滚动条的高度。
    具体如下:获得在当前选中的li前面的节点的高度,然后减去ul高度的一半设置给ul的scrollTop,基本上可以把滚动条设置在中间位置。
    var ul_module = $('#ul_module');
    var ul_height = ul_module.height();
    var seleted_li = ul_module.find('.li-on');
    if(seleted_li.length) {
        var height = seleted_li.height();
        var prevCount = seleted_li.prevAll().length;
        ul_module.scrollTop(height * prevCount - ul_height/2);
    }
  • 相关阅读:
    linux命令大全
    IP协议
    TCP、IP、ARP协议之间的工作关系
    程序出现问题后
    HTTP(超文本传输协议)
    多线程
    syslog.conf文件
    logger命令
    gdb
    二、数据的存储结构
  • 原文地址:https://www.cnblogs.com/purediy/p/2560156.html
Copyright © 2011-2022 走看看