• JS小功能系列12楼层定位


    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
    
            .head {
                 100%;
                height: 10px;
                padding: 10px;
                margin: 10px;
                border: 10px solid orange;
            }
    
            .main .wrap {
                 1000px;
                margin: auto;
            }
    
            .main .wrap>div {
                 100%;
                height: 300px;
            }
    
            .main .wrap div:nth-of-type(odd) {
                background: red;
            }
    
            .main .wrap div:nth-of-type(even) {
                background: orange;
            }
    
            .side {
                position: fixed;
                top: 100px;
                left: 10px;
            }
    
            .side span {
                display: block;
                padding: 10px 20px;
                font-size: 30px;
                color: #09c;
                background: greenyellow;
                border-bottom: 1px solid red;
            }
    
            .active {
                background: blue;
            }
        </style>
        <script>
            window.onload = function () {
                var floor = document.querySelectorAll(".floor"),
                    sideSpan = document.querySelectorAll(".side span"),
                    head = document.querySelector(".head"),
                    body = document.body,
                    count = 0;
    
                for (var i = 0, len = sideSpan.length; i < len; i++) {
                    sideSpan[i].index = i;
                       body.scrollTop=0;
                    sideSpan[i].onclick = function () {
                        var floorDistance = floor[this.index].offsetTop;
    
                        var roll = setInterval(function () {
                            body.scrollTop = count++;
                            if (count == floorDistance)
                                clearInterval(roll);
                        }, 1)
                        for (var j = 0, len2 = floor.length; j < len2; j++) {
                            if (this.index != j) sideSpan[j].className = "";
                        }
                        sideSpan[this.index].className = "active";
                    }
    
                }
    
    
            }
    
        </script>
    </head>
    
    <body>
        <div class="head">
            头部
        </div>
        <div class="main">
            <div class="wrap">
                <div class="floor">1</div>
                <div class="floor">2</div>
                <div class="floor">3</div>
                <div class="floor">4</div>
                <div class="floor">5</div>
                <div class="floor">6</div>
            </div>
            <div class="side">
                <span>1</span>
                <span>2</span>
                <span>3</span>
                <span>4</span>
                <span>5</span>
                <span>6</span>
            </div>
        </div>
    </body>
    
    </html>

  • 相关阅读:
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    Linux 小知识翻译
    PAT 甲级 1066 Root of AVL Tree (25 分)(快速掌握平衡二叉树的旋转,内含代码和注解)***
    Internet Download Manager 快速下载插件,破解版
    微积分基本公式(牛顿——莱布尼茨公式)的几何解释
  • 原文地址:https://www.cnblogs.com/xingkongly/p/7672570.html
Copyright © 2020-2023  润新知