jQuery实现图片懒加载

 直接上代码:

 <script src="js/jquery-2.1.1.js"></script>
<script>
// 滚动事件
start() //打开页面 调用一次 
$(window).on('scroll', function () {
    start() //滚动页面是 调用一次   方便管理 
})
//加载函数 
function start() {
    $('.img-lazy').not('[data-isLoaded]').each(function () {
        var $node = $(this)
        if (isShow($node)) {
            //缓冲效果 
            setTimeout(function () {
                loadIng($node)
            }, 500)
        }
    })
}
// 页面逻辑
function isShow($node) {
    // 当一个元素出现在我们眼前    小于 窗口高度 加上窗口滚动的高度的时候    就意味着  到达目标点 
    // 可以开始加载图片 或者其他内容
    return $node.offset().top <= $(window).height() + $(window).scrollTop()

}
// 显示状态
function loadIng($img) {
    // 获取目标元素 并替换 
    $img.attr('src', $img.attr('data-src'))
    //性能优化   进行判断   已经加载的  不会再进行加载  
    $img.attr('data-isLoaded', 1)
}
<script />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值