在线直播源码,js获取滚动条的位置

在线直播源码,js获取滚动条的位置

一.获取当前页面滚动条纵坐标的位置

 

document.body.scrollTop与document.documentElement.scrollTop

 

IE6/7/8/IE9及以上:

可以使用 document.documentElement.scrollTop;

 

Safari,Firefox:,Chrome:

可以使用 document.body.scrollTop;

 

二.js获取网页屏幕可视区域高度

 

document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度

 

看了以上代码,可能会有疑问说body和可见区域到底有什么不同呢,我们在console里运行一下会发现在不同的网页中有不同的情况值,有的document.body.clientWidth和document.documentElement.clientWidth 的值相同,有的却不同,原因在哪呢?

 

原因就是:

在浏览器默认的情况下,body有8-10px左右的边距,而可见区域包括了这个边距,因此如果我们用到body{padding:0;margin:0;}来消除这种默认的情况。那么document.body.clientWidth和document.documentElement.clientWidth 的值就会相同。

 

三.获取文档完整高度

网页正文全文宽:document.body.scrollWidth 基本等同于document.body.clientWidth

网页正文全文高:document.body.scrollHeight 基本等同于document.body.clientHeight

 

案例:

滚到底部,加载下一页数据

 

export default {
  data() {
    return {};
  },
  mounted() {
    //监听并处理函数
    window.addEventListener("scroll", this.handleScroll);
  },
  methods: {
    handleScroll(e) {
      if (
        this.getScrollTop() + this.getClientHeight() == this.getScrollHeight()
      ) {
        if (Math.ceil(this.total / this.limit > this.nextPage)) {
          this.nextPage += 1;
          this.getList();
        }
      }
    },
    //获取当前滚动条的位置
    getScrollTop(){
        var scrollTop=0
        if(document.documentElement&&document.documentElement.scrollTop){
            scrollTop = document.documentElement.scrollTop
        }else if(document.body){
            scrollTop = document.body.scrollTop
        }
        return scrollTop
    },
    //获取当前可视范围的高度
    getClientHeight(){
        var clientHeight = 0
        if(document.body.clientHeight&&document.documentElement.clientHeight){
            clientHeight = Math.min(document.body.clientHeight,document.documentElement.clientHeight)
        }else{
            clientHeight = Math.max(document.body.clientHeight,document.documentElement.clientHeight)
        }
        return clientHeight
    },
    //获取文档完整的高度
    getScrollHeight(){
        return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)
    }
  }
};

 

以上就是 在线直播源码,js获取滚动条的位置,更多内容欢迎关注之后的文章

 

posted @ 2023-02-08 14:11  云豹科技-苏凌霄  阅读(58)  评论(0)    收藏  举报