jQuery图片懒加载

css样式。

.box{
            height: 1200px;
        }
        .box-img{
            margin: 0 auto;
            margin-bottom: 200px;
            width: 700px;
            height: 360px;
            background-color: aqua;
        }
        .box-img img{
            width: 100%;
            min-height: 100%;
        }入代码片

实现图片懒加载先获取窗口滚动条高度$(window).scrollTop()+ $(window).outerHeight();
图片所在位置离浏览器的高度 $imgBox.outerHeight() + $imgBox.offset().top,
html

<body>
	<div class="box">
        123
    </div>
    <div class="box-img">
        <img src="" alt="" data-img="1.jpg">
    </div>
    <div class="box-img">
        <img src="" alt="" data-img="1.jpg">
    </div>
    
	<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
</body>

js
单个图片加载

 let $imgBox = $('.box-img'),
     $img = $imgBox.children('img'),
     $window = $(window);
$window.on("load scroll"function(){
	if($img.attr('isLoad')==='true'){	//自定义isLoad属性判断图片是否已经加载完成
		return;
	}
	let $A = imgBox.outerHeight() + $imgBox.offset().top //图片窗口高度+图片到头部距离, 
	let $B = window.outerHeight() + $window.scrollTop(); //窗口高度+滚动条高度
	if ($A <= $B){
		$img.attr('scr',$img.attr('data-img'));
		/*$img.on('load',function(){
             //加载成功:fadeIn 动画
             $img.stop().fadeIn();
        });*/
        $img.attr('isLoad',true); //添加自定义属性表示图片已经加载完成
	}
})

多个图片加载

 $window.on('load scroll',function(){
            let $B = $window.outerHeight() + $window.scrollTop();
            $imgBox.each((index,itme)=>{      //each(object, callback) 遍历指定的对象和数组
                let $itme = $(itme),
                    $thisA = $itme.outerHeight() + $itme.offset().top,
                    isLoad = $itme.attr('isLoad');
                if ($thisA <= $B && isLoad !== 'true'){
                    $itme.attr('isLoad',true);
                    let $img = $itme.children('img');
                    $img.attr('src',$img.attr('data-img'));
                }
            })
        })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值