美文网首页
图片的懒加载

图片的懒加载

作者: 为了_理想 | 来源:发表于2020-10-24 10:59 被阅读0次

    思路:
    将页面里所有img属性src属性,用自定义属性data-xx代替,当页面滚动直至此图片出现在可视区域时,用js取到该图片的data-xx的值赋给src。

    网页可见区域宽: document.body.offsetWidth (包括边线的宽);
    网页可见区域高: document.body.offsetHeight (包括边线的宽);
    网页正文全文宽: document.body.scrollWidth;
    网页正文全文高: document.body.scrollHeight;
    网页被卷去的高: document.body.scrollTop;
    网页被卷去的左: document.body.scrollLeft;
    网页正文部分上: window.screenTop;
    网页正文部分左: window.screenLeft;
    屏幕分辨率的高: window.screen.height;
    屏幕分辨率的宽: window.screen.width;
    屏幕可用工作区高度: window.screen.availHeight;

    //获取滚动条当前的位置
    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 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;
    }
    
    //获取文档完整的高度
    function getScrollHeight() {
        return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
    }
    

    //滚动事件触发
    window.onscroll = function () {
    if (getScrollTop() + getClientHeight() == getScrollHeight()) {
    vm.page++
    var _this = this;
    axios({
    method: 'GET',
    url: _apiURL + '/goods/getgoodsnew',
    params: {
    num: vm.num,
    page:vm.page,
    },
    headers: getHeader(false)
    }).then(function(res) {
    if (res.data.status == 100) {
    vm.goodsList = vm.goodsList.concat(res.data.data);
    }
    })

    相关文章

      网友评论

          本文标题:图片的懒加载

          本文链接:https://www.haomeiwen.com/subject/hwjeaqtx.html