zhaopei

http://www.phpernote.com/javascript-function/755.html

获取窗口可视范围的高度

function getClientHeight(){   
    var clientHeight=0;   
    if(document.body.clientHeight&&document.documentElement.clientHeight){   
        var clientHeight=(document.body.clientHeight<document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;           
    }else{   
        var clientHeight=(document.body.clientHeight>document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;       
    }   
    return clientHeight;   
}

获取窗口滚动条高度

function getScrollTop(){   
    var scrollTop=0;   
    if(document.documentElement&&document.documentElement.scrollTop){   
        scrollTop=document.documentElement.scrollTop;   
    }else if(document.body){   
        scrollTop=document.body.scrollTop;   
    }   
    return scrollTop;   
}

获取文档内容实际高度

function getScrollHeight(){   
    return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);   
}

 

滚动条距离浏览器顶部的高度 = 窗口滚动条高度;

滚动条距离浏览器底部的高度 = 文档(页面)内容实际高度 - 滚动条距离浏览器顶部的高度 - 窗口可视范围的高度;

 

完整代码如下:

<html xmlns="http://www.phpernote.com/javascript-function/754.html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js获取滚动条距离浏览器顶部,底部的高度</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
//取窗口可视范围的高度
function getClientHeight(){   
    var clientHeight=0;   
    if(document.body.clientHeight&&document.documentElement.clientHeight){   
        var clientHeight=(document.body.clientHeight<document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;           
    }else{   
        var clientHeight=(document.body.clientHeight>document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;       
    }   
    return clientHeight;   
}
//取窗口滚动条高度
function getScrollTop(){   
    var scrollTop=0;   
    if(document.documentElement&&document.documentElement.scrollTop){   
        scrollTop=document.documentElement.scrollTop;   
    }else if(document.body){   
        scrollTop=document.body.scrollTop;   
    }   
    return scrollTop;   
}
//取文档内容实际高度
function getScrollHeight(){   
    return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);   
}
window.onscroll=function(){
    var height=getClientHeight();
    var theight=getScrollTop();
    var rheight=getScrollHeight();
    var bheight=rheight-theight-height;
    document.getElementById(\'show\').innerHTML=\'此时浏览器可见区域高度为:\'+height+\'<br />此时文档内容实际高度为:\'+rheight+\'<br />此时滚动条距离顶部的高度为:\'+theight+\'<br />此时滚动条距离底部的高度为:\'+bheight;
}
function fixDiv(div_id,offsetTop){
    var offsetTop=arguments[1]?arguments[1]:0;
    var Obj=$(\'#\'+div_id);
    var ObjTop=Obj.offset().top;
    var isIE6=$.browser.msie && $.browser.version == \'6.0\';
    if(isIE6){
        $(window).scroll(function(){
            if($(window).scrollTop()<=ObjTop){
                    Obj.css({
                        \'position\':\'relative\',
                        \'top\':0
                    });
            }else{
                Obj.css({
                    \'position\':\'absolute\',
                    \'top\':$(window).scrollTop()+offsetTop+\'px\',
                    \'z-index\':1
                });
            }
        });
    }else{
        $(window).scroll(function(){
            if($(window).scrollTop()<=ObjTop){
                Obj.css({
                    \'position\':\'relative\',
                    \'top\':0
                });
            }else{
                Obj.css({
                    \'position\':\'fixed\',
                    \'top\':0+offsetTop+\'px\',
                    \'z-index\':1
                });
            }
        });
    }
}
$(function(){fixDiv(\'show\',5);});
</script>
</head>
<body>
<div style="height:500px;"></div>
<div>http://www.phpernote.com/jquery/251.html</div>
<div id="show"></div>
<div style="height:2000px;"></div>
</body>
</html>
View Code

 

分类:

技术点:

相关文章:

  • 2022-01-02
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
  • 2021-12-23
猜你喜欢
  • 2021-12-23
  • 2021-12-23
  • 2021-12-23
  • 2021-12-23
  • 2021-12-25
相关资源
相似解决方案