zoukankan      html  css  js  c++  java
  • 延时加载图片

    制作原理:

    1.把正确地址保存至自定义属性中当需要时直接调用替换

    2.对象距离页面顶部的长度和滚动条加上页面实际显示高度进行判断。知道对象是否已经显示到浏览器可视区域中

    3.使用setTimeout进行延时

    用到的几个兼容方法

    //获取滚动条高度
    function getScroll(){
        return {
            top:document.body.scrollTop || document.documentElement.scrollTop,
            left:document.body.scrollLeft || document.documentElement.scrollLeft
        }
    }
    //获取浏览器的可视区高度与宽度
    function getInner(){
        if(typeof window.innerWidth != 'undefined'){
            //支持现代浏览器
            return {
                window.innerWidth,
                height:window.innerHeight
            }
        }else{
            //支持ie6等低版本浏览器
            return {
                document.documentElement.clientWidth,
                height:document.documentElement.clientHeight
            }
        }
    }
    //获取对象到顶部的距离
    function offsetTop(element){
        var top = element.offsetTop;
        var parent = element.offsetParent;
        while(parent!=null){
            top += parent.offsetTop;
            parent = parent.offsetParent;
        }
        return top;
    }
    //获取属性
    function attr(obj,attr,val){
        if(arguments.length == 3){
            obj.setAttribute(attr,val);
        }else{
            return obj.getAttribute(attr);
        }
    };
    var oImg = document.getElementByTagName('img');
    window.onscroll = function(){
        setTimeout(function(){
            var windowTop = getScroll().top+getInner().height;
            for(var i=0;i<oImg.length;i++){
                var oTop = offsetTop(oImg[i]);
                if(windowTop>oTop){
                    attr(oImg[i],'src',oImg[i].attr('xsrc'));
                }
            };
        },1000);
    }
        <li><img xsrc="1.jpg" src="opacity.gif" alt=""/></li>
  • 相关阅读:
    IOS手机 html5页面 数字变成蓝色链接的原因
    html5预加载图片的写法
    jquery取消绑定的方法
    CSS3幸运大转盘最简单的写法
    深度搜索应用之黑白图像(非递归)
    springday03-go1
    springday02-go4
    spring day02-go3
    springday02-go2
    spring da-y02-go1
  • 原文地址:https://www.cnblogs.com/BobSky/p/3140387.html
Copyright © 2011-2022 走看看