zoukankan      html  css  js  c++  java
  • 根据页面长度实现阅读进度条原理

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>pageScroll</title>
        <style type="text/css">
            * {
                margin: 0;
                padding: 0;
            }
            /*防止body的高度为100px,加1px padding实现了把body撑开*/
            body{
                padding:1px;
            }
            .test {
                width: 100px;
                height: 100px;
                background-color: #000;
                margin: 500px 0 1000px 300px;
            }
        </style>
    </head>
    <body>
        <div class="test"></div>
        <script>
            ;(function (w,d) {
                var domDiv = d.createElement('div');
                //修改domDiv的行内样式
                domDiv.style.cssText = 'position: fixed; top: 0; left: 0;  0; height: 7px;'+'box-shadow: 0 0 3px #999; background: -webkit-linear-gradient(left, red , blue);z-index: 999999; -webkit-transition:width .3s linear;'
                //append是jquery的方法,dom对象的是appendchild();
                d.body.appendChild(domDiv);
                //domH:可视区域的高度
                var domH = w.innerHeight||d.documentElement.clientHeight||d.body.clientHeight;
                /**
                 * [通过给window添加scroll事件实现了监控的作用。]
                 * @param  {[type]} ){                var divsw         [description]
                 * @param  {[type]} false      [冒泡阶段]
                 * @return {[type]}            [description]
                 * pageYOffset:滚到了视口顶部的高度。
                 * document.body.offsetHeight:body的高度
                 */
                w.addEventListener('scroll',function(){
                    var divsw = domDiv.style.width = Math.round(pageYOffset/(d.body.offsetHeight-domH)*100)+'%';
                    /*if(parseInt(divsw,10)>50){
                        domDiv.style.backgroundColor = '#00f';
                    }else{
                        domDiv.style.backgroundColor = '#f00808';
                    }*/
                },false);
            })(window,document);
        </script>
    </body>
    </html>
  • 相关阅读:
    关于es6的箭头函数使用与内部this指向
    如何使用node中的buffer
    node里如何查看浏览器信息
    我也来写个小爬虫 ^_^
    长篇小说关键字瞬间过滤
    数组 字符串 常用操作
    怎样防止重复发送 Ajax 请求?
    js运算
    表单重复提交
    只能输入数字
  • 原文地址:https://www.cnblogs.com/qianduanjingying/p/5072356.html
Copyright © 2011-2022 走看看