如何使用AJAX实现按需加载【推荐】

按需加载的优势:在实际调查中发现,很多的网民在游览网站时具有明确的指向性,往往在进入主页后直接搜索进入自己需要的商品列表内,如果在客户进入主页时将主页信息全部加载完毕后展示给顾客,会极大的浪费网站资源,同时也会降低客户体验度,因而按需加载则成为了当今网站构建的主流。

<!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实现按需加载【推荐】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

时间: 2024-09-24 14:44:37

如何使用AJAX实现按需加载【推荐】的相关文章

如何使用AJAX实现按需加载【推荐】_AJAX相关

按需加载的优势:在实际调查中发现,很多的网民在游览网站时具有明确的指向性,往往在进入主页后直接搜索进入自己需要的商品列表内,如果在客户进入主页时将主页信息全部加载完毕后展示给顾客,会极大的浪费网站资源,同时也会降低客户体验度,因而按需加载则成为了当今网站构建的主流. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>按

使用ajax+jqtransform实现动态加载select_jquery

今天在工作的时候遇到一个问题,页面中公司名称是在项目名称选择后用ajax读取出来的.但是jqtransform是在页面加载完成后调用的,所以导致了公司名称下拉框无法展示最新的数据. <link rel="stylesheet" href="${ctx}/jqtransformplugin/jqtransform.css" type="text/css"></link> <script type="text/

基于ajax实现点击加载更多无刷新载入到本页_AJAX相关

先给大家展示效果图: 效果演示 本例是分页的另外一种显示方式,并不是隐藏未显示的内容 数据库结构与<ajax 翻页>是一样的 JavaScript 代码 <script type="text/javascript"> $(document).ready(function() { var track_click = ; //track user click on "load more" button, righ now it is click

Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块完美实现_实用技巧

中午的时候发了第一篇 Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块 ,发现实现上还是有问题,有很多理解不到位的地方,晚上详细解决下了,终于实现MVC各模块按需加载了,哈皮. 上篇文章中,关于ExtJs这个玩意的评论就跟java和.Net那个好一样,既然上了贼船,就难下了,而且对于企业级的应用我个人觉得Extjs框架还是不错的,尤其是没有UI设计的团队(苦逼的程序员就兼UI吧),起码难得发现一个做的比较好的UI框架(国产的miniUI貌似看的过去,其他的就有点

探索angularjs+requirejs全面实现按需加载的套路_AngularJS

在进行有一定规模的项目时,通常希望实现以下目标:1.支持复杂的页面逻辑(根据业务规则动态展现内容,例如:权限,数据状态等):2.坚持前后端分离的基本原则(不分离的时候,可以在后端用模版引擎直接生成好页面):3.页面加载时间短(业务逻辑复杂就需要引用第三方的库,但很可能加载的库和用户本次操作没关系):4,还要代码好维护(加入新的逻辑时,影响的文件尽量少). 想同时实现这些目标,就必须有一套按需加载的机制,页面上展现的内容和所有需要依赖的文件,都可以根据业务逻辑需要按需加载.最近都是基于angula

利用CSS、JavaScript及Ajax实现图片预加载的方法_javascript技巧

预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验.本文将分享三个不同的预加载技术,来增强网站的性能与可用性. 实现图片预加载可以使用css.JavaScript.Ajax三种方法.下面分别介绍这些方法的实现. 使用CSS 单纯的使用css可以将图片加载到页面元素的背景上,这种方法简单.高效: #d

模拟jQuery中的ready方法及实现按需加载css,js实例代码_jquery

一.ready函数的实现经常用jQuery类库或其他类库中的ready方法,有时候想想它们到底是怎么实现的,但是看了一下jQuery中的源码,涉及到的模块比较多,(水平有限)代码比较难看懂:自己结合了一些书籍内容,总结一下.先说一下ready函数的实现思路:变量ready通过表达式赋值,右侧为一个自执行匿名函数,在这个匿名函数中,首先为各个浏览器的事件绑定处理函数,并为isReady赋值(根据事件异步处理程序来确定),然后返回一个传参闭包,在闭包中,主要判断isReady值来执行操作,如果dom

LazyLoad 延迟加载(按需加载)_javascript技巧

1:实际需求 大型网站往往很矛盾,想用户在首页看到更多东西,又不想浪费太多服务器流量.比如一个有3屏的首页.可能50%的用户进首页的目的是点击首页的连接,到子页面. 那么我们的网站却为100%的用户加载了 3个 屏幕的所有内容.如果可以按需加载内容.就可以节约更多资源,做更多好的应用. 2:解决方案 用客户端语言来判断用户当前的可视范围,只加载用户可视范围的内容.最主要的是图片.因为文字信息,相对较小,其他多媒体内容相对占用服务器流量更多. 3:演示例子(最后提供)4:解析 首先我们要分析下,这

javascript+ajax实现产品页面加载信息_javascript技巧

js //加载页面 //加载产品列表 function GetProductList() { function PostParam(param) { param.key = "lm324"; return param; } var PostExecParam = { ClassName: "AnxinE.BLL.Product.ProductInfoBLL", MethodName: "Search", ParamModelName: "