页面要延迟加载的图片做如下修改:
<img tsrc="http://productimg.xing800.com${mimg}" src="http://img.xing800.com/zhuanti/gun.gif" name="lazy" width="220" height="150" alt="${groupbuy.title}" />
js:
var windowOffset;
var windowSize;
var lazys = new Array();
function getWindowOffset() {
var offset = {
x : 0,
y : 0
};
if (typeof window.pageXOffset != 'undefined'
|| typeof window.pageYOffset != 'undefined') {
offset.x = window.pageXOffset;
offset.y = window.pageYOffset;
} else if (typeof document.compatMode != 'undefined'
&& document.compatMode == 'CSS1Compat') {
offset.x = document.documentElement.scrollLeft;
offset.y = document.documentElement.scrollTop;
} else if (typeof document.body != 'undefined'
&& (document.body.scrollLeft || document.body.scrollTop)) {
offset.x = document.body.scrollLeft;
offset.y = document.body.scrollTop;
}
return offset;
}
function getObjOffset(element) {
var objOffset = {
x : 0,
y : 0
};
if (arguments.length != 1 || element == null) {
return null;
}
objOffset.x = element.offsetLeft;
objOffset.y = element.offsetTop;
while (element = element.offsetParent) {
objOffset.x += element.offsetLeft;
objOffset.y += element.offsetTop;
}
return objOffset;
}
function getWindowSize() {
var client = {
x : 0,
y : 0
};
if (typeof document.compatMode != 'undefined'
&& document.compatMode == 'CSS1Compat') {
client.x = document.documentElement.clientWidth;
client.y = document.documentElement.clientHeight;
} else if (typeof document.body != 'undefined'
&& (document.body.scrollLeft || document.body.scrollTop)) {
client.x = document.body.clientWidth;
client.y = document.body.clientHeight;
}
return client;
}
function getObjSize(element) {
var objSize = {
x : 0,
y : 0
};
if (arguments.length != 1 || element == null) {
return null;
}
objSize.x = element.offsetWidth;
objSize.y = element.offsetHeight;
return objSize;
}
function getLazys() {
var imgs = document.getElementsByName("lazy");
var lazys = new Array();
for (i = 0; i < imgs.length; i++) {
var tmp = new Object;
tmp.element = imgs[i];
tmp.tsrc = imgs[i].getAttribute("tsrc");
tmp.x = getObjOffset(imgs[i]).x;
tmp.y = getObjOffset(imgs[i]).y;
tmp.w = getObjSize(imgs[i]).x;
tmp.h = getObjSize(imgs[i]).y;
lazys.push(tmp);
}
return lazys;
}
function loadimg() {
if (typeof lazys == 'undefined')
return;
for (i = 0; i < lazys.length; i++) {
if (lazys[i].x + lazys[i].w > windowOffset.x
&& lazys[i].x < windowOffset.x + windowSize.x
&& lazys[i].y + lazys[i].h + 200 > windowOffset.y
&& lazys[i].y < windowOffset.y + windowSize.y + 200) {
if (lazys[i].element.getAttribute("tsrc") != null) {
lazys[i].element.src = lazys[i].tsrc;
lazys[i].element.removeAttribute("tsrc");
lazys.splice(i, 1);
i--;
}
}
}
}
function init() {
lazys = getLazys();
lazyLoad();
}
function lazyLoad() {
windowOffset = getWindowOffset();
windowSize = getWindowSize();
loadimg();
if (lazys.length == 0) {
clearTimeout(timer);
}
}
var timer;
init();
timer = setInterval(lazyLoad, 200);
http://shop68305897.taobao.com
我的淘宝店
支持下
帮我刷刷行用
分享到:
相关推荐
**Echo.js:一款高效实用的JavaScript延迟加载图片库** 在网页设计中,图片是不可或缺的元素,它们可以增强用户体验,但同时也可能导致页面加载速度变慢。为了优化网站性能,延迟加载(Lazy Loading)技术应运而生...
在JavaScript的世界里,延迟加载(Lazy Loading)是一种优化网页性能的技术,它允许我们仅在真正需要时才加载资源,如图片、脚本或视频。这种技术可以显著减少初始页面加载时间,提高用户体验,并减少服务器压力。...
### js设置延迟加载 在现代Web开发中,为了提高用户体验并优化资源管理,开发者们常常会用到“延迟加载”(Lazy Loading)技术。本文将详细介绍如何使用JavaScript实现页面元素或功能的延迟加载,帮助读者更好地...
JavaScript延迟加载是通过监听滚动事件来实现的。当页面滚动到特定位置时,触发一个函数来加载所需资源。这可以通过监听`window.onscroll`或`window.addEventListener('scroll', callback)`实现。关键在于计算元素...
为了解决这个问题,开发人员引入了“图片延迟加载”技术,jQuery作为一款广泛使用的JavaScript库,提供了实现这一功能的强大工具。本文将深入探讨jQuery图片延迟加载的概念、优势以及实现方法。 **一、什么是图片...
2. **JavaScript延迟加载**:lazyload.js 文件可能是一个实现延迟加载功能的JavaScript库。它通常通过监听滚动事件来判断元素是否进入视口,一旦进入,就立即加载对应的资源。例如,可以使用Intersection Observer ...
延迟加载是一种优化网页性能的策略,它允许我们只在需要时才加载资源,如图片、JavaScript或CSS。这种技术显著减少了初始页面加载时间,提高了用户体验,尤其是在移动设备上,因为它们通常具有有限的带宽。 **Lazy...
首先,让我们深入理解JavaScript延迟加载(Lazy Loading)的概念。通常,JavaScript脚本如果放置在`<head>`标签内,会阻塞页面的渲染,直到脚本加载并执行完毕。为了改善这种情况,我们可以将脚本放在页面底部(`...
JavaScript延迟加载图片是一种优化网页性能的技术,特别是在网页包含大量图片时。这种技术允许网页只在用户滚动到可视区域时才加载图片,而不是一次性全部加载,从而减少了页面初始加载时间,提高了用户体验,特别是...
JavaScript延迟加载技术是一种优化网页性能的重要策略,它允许我们按需加载资源,而不是一次性加载所有内容,从而减少了页面初始化时的负担,提升了用户体验。在这个示例中,我们将探讨如何使用JavaScript来封装延迟...
JavaScript滚动延时加载,也称为懒加载(Lazy Loading),是一种优化网页性能的技术。...在实际项目中,你还可以结合使用现有的JavaScript库和框架,如Vue.js或React,它们都有成熟的滚动延时加载解决方案。
"lazyload.js" 是一个专门用于延迟加载图片、视频和其他HTML元素的JavaScript库。它通过监听用户的滚动事件,判断元素是否进入视口,如果进入则加载相应的资源。这个库通常会替换原始的`src`属性为占位符,然后在...
今天共享一个DIY的利用JS来延迟加载图片的插件。 大概的实现方式是:页面的定义元素img时,将src统一替换成自定义的一个属性名,如叫“originalSrc”,然后利用JS把给img的src设置为一个定义好的等待图片,然后在...
例如,压缩包中的`LazyLoad.js`可能就是一个用于实现延迟加载功能的JavaScript库。这个库通常会监听用户的滚动事件,当检测到用户滚动到某个图像或元素时,就会触发对应的加载操作。同时,为了确保兼容性和性能,这...
提供的文件`o_loading.gif`可能是用于延迟加载时的占位符图片,而`js延时加载.html`是一个实际的示例页面,其中包含了上述延迟加载的JavaScript代码。在这个页面中,可以看到如何将`Intersection Observer`或`scroll...
JS延迟加载百度分享代码提高网页速度
**jQuery延迟加载(Jquery延时加载)**是一种优化网页性能的技术,主要应用于图片加载,尤其是在内容丰富的网页中。这种技术允许网页只加载用户当前视口内的内容,当用户滚动页面,即将进入视口的图片才会开始加载。...
以下是一个简单的JavaScript延迟加载图片的示例: ```html <!DOCTYPE html> <title>JavaScript图片延迟加载示例 .lazy { width: 100%; height: auto; opacity: 0; /* 预加载过渡效果 */ transition: ...
在网页设计中,提高用户体验和...总结来说,"js页面图片延迟加载特效"是一种高效优化网页加载速度的技术,通过JavaScript实现,能显著提升用户体验。通过理解和应用这些知识点,开发者可以创建更流畅、响应更快的网页。