js获取浏览器滚动条距离顶端的距离

最近在做项目的时候遇到需要用js获取滚动条距离窗口顶端的距离和js获取浏览器可视化窗口的大小,在这儿做一个整理保存:

   一、jQuery获取的相关方法

jquery 获取滚动条高度  
  
获取浏览器显示区域的高度 : $(window).height();   
获取浏览器显示区域的宽度 :  $(window).width();   
获取页面的文档高度 :  $(document).height();   
获取页面的文档宽度 :$(document).width();  
  
获取滚动条到顶部的垂直高度 :  $(document).scrollTop();   
获取滚动条到左边的垂直宽度 :  $(document).scrollLeft();  
  
计算元素位置和偏移量:  
  
$(id).offset();  
  
offset方法是一个很有用的方法,它返回包装集中第一个元素的偏移信息。默认情况下是相对body的偏移信息。结果包含 top和left两个属性。  
  
offset(options, results)  
options.relativeTo  指定相对计 算偏移位置的祖先元素。这个元素应该是relative或absolute定位。省略则相对body。  
options.scroll  是否把  滚动条计算在内,默认TRUE  
options.padding  是否把padding计算在内,默认false  
options.margin   是否把margin计算在内,默认true  
options.border  是否把边框计算在内,默认true  

 但是我在使用jQuery的方法的时候在IE6上会发生不兼容现象。

二、使用js获取的相关方法

 

//回到页面顶部  
    $("#goTotop").click(function(){  
        $('body,html').animate({scrollTop:0},1500); //点击按钮让其回到页面顶部  
    });  
      
    $(window).scroll(function() {  
        var yheight1=window.pageYOffset; //滚动条距顶端的距离  
        var yheight=getScrollTop(); //滚动条距顶端的距离  
        var height =document.documentElement.clientHeight//浏览器可视化窗口的大小  
        var top=parseInt(yheight)+parseInt(height)-217;  
        var divobj=$(".kf");  
        divobj.attr('style','top:'+top+'px;');  
    })  
      
/** 
 * 获取滚动条距离顶端的距离 
 * @return {}支持IE6 
 */  
function getScrollTop() {  
        var scrollPos;  
        if (window.pageYOffset) {  
        scrollPos = window.pageYOffset; }  
        else if (document.compatMode && document.compatMode != 'BackCompat')  
        { scrollPos = document.documentElement.scrollTop; }  
        else if (document.body) { scrollPos = document.body.scrollTop; }   
        return scrollPos;   
}  

 

 getScrollTop()使用这个方法在IE、谷歌和火狐上都能获取,当然这不是我原创的,也是有哥们贴网上的,我只是在此收藏整理一下。

 

转载于:https://www.cnblogs.com/tianma3798/p/3984496.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值