1. 程式人生 > >如何操作滾動條時間,實現文檔摘要

如何操作滾動條時間,實現文檔摘要

align spa menu 學習 select fixed cto 模塊 click

html:

<div class="mg menu">
        <div>
            <ul>
                <li><a href="#model" class="">vue的學習</a></li>
                <li><a href="#course">node的學習</a></li>
                <li><a href="#introduce">js的學習</
a></li> </ul> </div> </div> <div class="mg content"> <div class="module"> <div class="title" id="model"> <b>vue的學習</b> </div> <p>1111111111111111hhhhhhhh</
p> <p>222222222222222222</p> <p>3333333333333333333</p> <p>444444444444444444</p> <!-- 省略以下代碼 --> </div> <div class="module"> <div class="title" id="course"> <
b>node的學習</b> </div> <p>node11111111111111</p> <p>node2222222222222222</p> <!-- 省略以下代碼 --> </div> <div class="module"> <div class="title" id="introduce"> <b>js的學習</b> </div> <p>js的學習js的學習</p> <p>js的學習js的學習</p> <!-- 省略以下代碼 --> </div> </div>

css: 樣式隨便寫一下

.menu{
    width: 200px;
    float: left;
    text-align: center;
    position: fixed;
}
    .menu ul li a{
        width: 190px;
        height: 30px;
        line-height: 30px;
        display: block;
        text-decoration: none;
    }
    .selected{
        background-color: #000;
    }
    .selected a{
        color: #fff;
    }
.content{
    width: 900px;
    float: right;
}

js:

    $(function(){
        $(".menu li").eq(0).addClass(‘selected‘);
        $(".menu li").click(function(){
            // 當前選擇的添加樣式,同級的刪除樣式
            $(this).addClass(‘selected‘).siblings(‘li‘).removeClass(‘selected‘);
        });
        var modules = $(".module");//所有的模塊
        $(window).scroll(function(){
            var _height = 0; //默認高度
            var _srcTop = $(this).scrollTop();//滾動條與頁面的距離
            for(var i = 0; i < modules.length; i++){
                _height += modules[i].offsetHeight;
                if(_srcTop < _height){
                    $(".menu li").eq(i).addClass(‘selected‘).siblings(‘li‘).removeClass(‘selected‘);
                    break;//滿足條件後終止循環
                }
            }
        })
    })

如何操作滾動條時間,實現文檔摘要