Sow nothing reap nothing

插件 - 网页顶部显示滚动高度比例

已有2,477次关注

利用计算网页页面的整体高度及顶部显示进度条的百分比。
效果截图:
网页顶部显示滚动高度比例.gif

HTML代码:

<!DOCTYPE html>
<html lang="zh">
<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>网页顶部显示滚动高度比例</title>
</head>
<style type="text/css">
    .placeholder{
        height: 10024px;
    }
</style>
<body>
    
<div class="headband"></div>
<div class="placeholder"></div>

</body>

<script src="js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/headBand.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    // 调用
    $('.headband').headBand({
        'background':'#6dcff6', //滚动进度条颜色
        'height':"3"            //高度
    });
</script>
</html>

headBand Js代码:

/**
 * headBand
 * @param {Object} $
 */
(function($) {
    $.fn.extend({
        headBand: function(option) {
            var ViewH = $(window).height(),
            ScrollH = $('body')[0].scrollHeight,
            S_V = ScrollH - ViewH,
            getThis = this.prop("className") !== "" ? "." + this.prop("className") : this.prop("id") !== "" ? "#" + this.prop("id") : this.prop("nodeName");
            $(window).scroll(function() {
                var ViewH_s = $(this).height(),
                ScrollH_s = $('body')[0].scrollHeight,
                ScoT_s = $(this).scrollTop(),
                Band_w = 100 - (ScrollH_s - ViewH_s - ScoT_s) / S_V * 100;
                defaultSetting = {
                    background: "green",
                    height: 3,
                    width: Band_w + '%'
                };
                setting = $.extend(defaultSetting, option);
                $(getThis).css({
                    "background": setting.background,
                    'position': 'fixed',
                    'top': '0',
                    'z-index': '99999',
                    "height": setting.height + "px",
                    'width': defaultSetting.width
                })
            });
            return this;
        }
    })
}(jQuery));

已自动关闭评论