zoukankan      html  css  js  c++  java
  • Javascript----scroll事件进度条监听

    1、效果

    2、代码:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
    
        .container div {
             100%;
            height: 600px;
            text-align: center;
        }
    
        .div {
            height: 1200px;
            color: red;
        }
    
        .div1 {
            background-color: red;
        }
    
        .div2 {
            background-color: orange;
        }
    
        .div3 {
            background-color: green;
        }
    
        .div4 {
            background-color: blue;
        }
    
        .div5 {
            background-color: black;
        }
    
        .div6 {
            background-color: pink;
        }
    
    
        .left-bar {
            position: fixed;
            display: none;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
        }
    
        .left-bar ul {}
    
        .left-bar ul li {
            list-style: none;
            font-size: 16px;
            color: #00D5FD;
            height: 58px;
             86px;
        }
    
        .left-bar ul li span,
        .left-bar ul li a {
            display: inline-block;
            float: left;
        }
    
        .left-bar ul li span {
            float: left;
            transform: translateX(90px);
            transition: linear 0.2s all;
            color: #00D5FD;
        }
    
        .left-bar ul li:hover span {
            transform: translateX(0px);
            transition: linear 0.2s all;
            color: #00D5FD;
        }
    
        .left-bar ul li a {
             16px;
            height: 16px;
            background-color: #00D5FD;
            border-radius: 8px;
            float: right;
        }
        </style>
    </head>
    
    <body>
        <div class="container" id='container'>
            <div class='div'>
                <h1>4324324</h1>
            </div>
            <div class='div1'>
                <h1>技术开发</h1>
            </div>
            <div class='div2'>
                <h1>精彩案列</h1>
            </div>
            <div class='div3'>
                <h1>团队介绍</h1>
            </div>
            <div class='div4'>
                <h1>H5技术</h1>
            </div>
            <div class='div5' style="color: white">
                <h1>合作客户</h1>
            </div>
            <div class='div6'>
                <h1>联系我们</h1>
            </div>
        </div>
        <div class="left-bar" id='left-bar'>
            <ul>
                <li>
                    <span id='span1'>技术开发</span>
                    <a href="#" class='a-list1' data-id='1'></a>
                </li>
                <li>
                    <span id='span2'>精彩案列</span>
                    <a href="#" class='a-list2' data-id='2'></a>
                </li>
                <li>
                    <span id='span3'>团队介绍</span>
                    <a href="#" class='a-list3' data-id='3'></a>
                </li>
                <li>
                    <span id='span4'>H5技术</span>
                    <a href="#" class='a-list4' data-id='4'></a>
                </li>
                <li>
                    <span id='span5'>合作客户</span>
                    <a href="#" class='a-list5' data-id='5'></a>
                </li>
                <li>
                    <span id='span6'>联系我们</span>
                    <a href="#" class='a-list6' data-id='6'></a>
                </li>
            </ul>
        </div>
        <script type="text/javascript">
        /*模仿蓝景官网(https://bluej.cn/newPage/app/Development.html)的侧边导航*/
        var container = document.getElementById("container");
        var leftBar = document.getElementById("left-bar");
        var span1 = document.getElementById("span1");
        var span2 = document.getElementById("span2");
        var span3 = document.getElementById("span3");
        var span4 = document.getElementById("span4");
        var span5 = document.getElementById("span5");
        var span6 = document.getElementById("span6");
    
        var aList1 = document.querySelector(".a-list1");
        var aList2 = document.querySelector(".a-list2");
        var aList3 = document.querySelector(".a-list3");
        var aList4 = document.querySelector(".a-list4");
        var aList5 = document.querySelector(".a-list5");
        var aList6 = document.querySelector(".a-list6");
    
    
    
    
    
    
        document.body.onscroll = function(event) {
            event = event || window.event;
            /* console.log(document.body.scrollTop);*/
            var h = document.body.scrollTop;
    
            if (h > 100) {
                leftBar.setAttribute("style", "display:block");
            } else {
                leftBar.setAttribute("style", "display:none");
            }
    
    
            if (h >= 200 && h < 500) {
                span1.setAttribute("style", "transform:translateX(0);");
                span2.setAttribute("style", "transform:translateX(90px);");
                span3.setAttribute("style", "transform:translateX(90px);");
                span4.setAttribute("style", "transform:translateX(90px);");
                span5.setAttribute("style", "transform:translateX(90px);");
                span6.setAttribute("style", "transform:translateX(90px);");
    
            } else if (h >= 500 && h < 1100) {
                span1.setAttribute("style", "transform:translateX(90px);");
                span2.setAttribute("style", "transform:translateX(0);");
                span3.setAttribute("style", "transform:translateX(90px);");
                span4.setAttribute("style", "transform:translateX(90px);");
                span5.setAttribute("style", "transform:translateX(90px);");
                span6.setAttribute("style", "transform:translateX(90px);");
    
            } else if (h >= 1100 && h < 1600) {
                span1.setAttribute("style", "transform:translateX(90px);");
                span2.setAttribute("style", "transform:translateX(90px);");
                span3.setAttribute("style", "transform:translateX(0);");
                span4.setAttribute("style", "transform:translateX(90px);");
                span5.setAttribute("style", "transform:translateX(90px);");
                span6.setAttribute("style", "transform:translateX(90px);");
    
            } else if (h >= 1600 && h < 2200) {
                span1.setAttribute("style", "transform:translateX(90px);");
                span2.setAttribute("style", "transform:translateX(90px);");
                span3.setAttribute("style", "transform:translateX(90px);");
                span4.setAttribute("style", "transform:translateX(0);");
                span5.setAttribute("style", "transform:translateX(90px);");
                span6.setAttribute("style", "transform:translateX(90px);");
    
            } else if (h >= 2200 && h < 2700) {
                span1.setAttribute("style", "transform:translateX(90px);");
                span2.setAttribute("style", "transform:translateX(90px);");
                span3.setAttribute("style", "transform:translateX(90px);");
                span4.setAttribute("style", "transform:translateX(90px);");
                span5.setAttribute("style", "transform:translateX(0);");
                span6.setAttribute("style", "transform:translateX(90px);");
    
            } else if (h >= 2700 && h < 3400) {
                span1.setAttribute("style", "transform:translateX(90px);");
                span2.setAttribute("style", "transform:translateX(90px);");
                span3.setAttribute("style", "transform:translateX(90px);");
                span4.setAttribute("style", "transform:translateX(90px);");
                span5.setAttribute("style", "transform:translateX(90px);");
                span6.setAttribute("style", "transform:translateX(0);");
    
            }
    
        };
    
    
        aList1.addEventListener('click', function(event) {
            event.preventDefault();
            var that = this;
            var h1 = 100;
            demo(that, h1);
        })
    
        aList2.addEventListener('click', function(event) {
            event.preventDefault();
            var h1 = 900;
            var that = this;
            demo(that, h1);
        })
    
        aList3.addEventListener('click', function(event) {
            event.preventDefault();
            var h1 = 1300;
            var that = this;
            demo(that, h1);
        })
    
        aList4.addEventListener('click', function(event) {
            event.preventDefault();
            var h1 = 1900;
            var that = this;
            demo(that, h1);
        })
    
        aList5.addEventListener('click', function(event) {
            event.preventDefault();
            var h1 = 2700;
            var that = this;
            demo(that, h1);
        })
    
        aList6.addEventListener('click', function(event) {
            event.preventDefault();
            var h1 = 3100;
            var that = this;
            demo(that, h1);
        })
    
        function demo(that, h1) {
            var id = that.getAttribute("data-id");
            var h1 = parseInt(h1);
            var h = parseInt(document.body.scrollTop);
            var interVal = 34;
            var h2 = h;
            var setInt = setInterval(function() {
                var speed = parseInt((h - h1) / 100) > 0 ? parseInt((h - h1) / 100) : -parseInt((h - h1) / 100);
    
                if (h2 - h1 >= -interVal && h2 - h1 <= interVal) { //(h2 - h1 <= 10)
                    console.log(h2 + "~=" + h1);
                    clearInterval(setInt);
                } else if (h2 - h1 > interVal) {
                    h2 -= speed;
                    document.body.scrollTop = h2;
                    console.log(h2 + "-->" + h1);
                } else {
                    h2 += speed;
                    document.body.scrollTop = h2;
                    console.log(h2 + "<--" + h1);
                }
            }, 1)
        }
        </script>
    </body>
    
    </html>
    

      

  • 相关阅读:
    拒绝服务攻击
    通过混合编程分析的方法和机器学习预测Web应用程序的漏洞
    防火墙与入侵防护系统
    恶意软件
    密码学
    纯真IP数据库(qqwry.dat)转换成最新的IP数据库格式(ipwry.dat)
    C++调用DLL方法
    QQ IP 地址查询相关
    【C/C++】概念: VC虚函数布局引发的问题
    DLL/EXE查看工具Dumpbin
  • 原文地址:https://www.cnblogs.com/SunlikeLWL/p/7262147.html
Copyright © 2011-2022 走看看