如何使用AJAX实现按需加载【推荐】
程序员文章站
2023-01-29 09:14:53
按需加载的优势:在实际调查中发现,很多的网民在游览网站时具有明确的指向性,往往在进入主页后直接搜索进入自己需要的商品列表内,如果在客户进入主页时将主页信息全部加载完毕后展示...
按需加载的优势:在实际调查中发现,很多的网民在游览网站时具有明确的指向性,往往在进入主页后直接搜索进入自己需要的商品列表内,如果在客户进入主页时将主页信息全部加载完毕后展示给顾客,会极大的浪费网站资源,同时也会降低客户体验度,因而按需加载则成为了当今网站构建的主流。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>按需加载图片</title> <style type="text/css"> *{margin:0px;padding:0px;list-style:none;} ul{ height:auto; overflow:hidden; width:400px; margin:0 auto; } li{ width:300px; height:200px; border:solid 1px #ddd; overflow:hidden; } </style> </head> <body> <ul> <li><img data-src="./sunli/1.jpg" alt="" width="100%"></li> <li><img data-src="./sunli/2.jpg" alt="" width="100%"></li> <li><img data-src="./sunli/3.jpg" alt="" width="100%"></li> <li><img data-src="./sunli/4.jpg" alt="" width="100%"></li> <li><img data-src="./sunli/5.jpg" alt="" width="100%"></li> <li url="./rexiao.php"> </li> </ul> <script type="text/javascript" src="jquery-1.8.3.min.js"></script> <script type="text/javascript"> //绑定窗口的滚动事件 $(window).scroll(function(){ //遍历检测里面的元素尺寸 $('li[isloaded!=1]').each(function(){ //获取滚动高度 var st = $(window).scrolltop(); //获取窗口的可视区域的高度 var ct = $(window).height(); //获取元素距离文档顶部的偏移量 var t = $(this).offset().top; //暂存当前元素对象 var curli = $(this); //检测判断 if(t <= st + ct){ //检测是否具有url属性 var url = $(this).attr('url'); //如果有 发送ajax 获取请求之后的数据 if(url){ //发送ajax $.get('rexiao.php',{}, function(data){ curli.html(data); return; }) } //这个时候要显示了 修改元素的src属性 var src = $(this).find('img').attr('data-src'); //设置 $(this).find('img').attr('src',src); //做标识 $(this).attr('isloaded','1'); } }) }) //使用代码来触发滚动事件 $(window).trigger('scroll'); </script> </body> </html>
以上这篇如何使用ajax实现按需加载【推荐】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
使用Yii整合的pjax(pushstate+ajax)实现无刷新加载页面
-
使用Jquery+Ajax+Json如何实现分页显示附JAVA+JQuery实现异步分页
-
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
-
如何使用AJAX实现按需加载【推荐】
-
使用加载图片解决在Ajax数据加载中页面出现短暂空白的问题(推荐)
-
如何使用jquery动态加载js,css文件实现代码
-
详解react-router如何实现按需加载
-
在使用AJAX实现页面局部刷新时,如何从后台直接返回一个jsp文件到前台,并替换掉原先内容?
-
!yii里如何实现使用Jquery Ajax传值到控制器action方法里
-
如何利用ajax实现页面加载和内容的删除