`
黄继华
  • 浏览: 45012 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

jQuery实现图片和iframe等延迟加载

 
阅读更多

对于电子商务进入优化阶段,由于过多的图片加载,给网站带来过度的负载,影响了访问速度。接下来我将介绍一个基于jQuery的插件来处理这些问题,

这个插件就是jquery.scrollLoading.js。


一下是插件源码:

/*
 * jquery.scrollLoading.js
 * 2010-11-19 v1.0
*/
(function ($) {
    $.fn.scrollLoading = function (options) {
        var defaults = {
            attr: "data-url"
        };
        var params = $.extend({}, defaults, options || {});
        params.cache = [];
        $(this).each(function () {
            var node = this.nodeName.toLowerCase(), url = $(this).attr(params["attr"]);
            if (!url) { return; }
            //重组
            var data = {
                obj: $(this),
                tag: node,
                url: url
            };
            params.cache.push(data);
        });

        //动态显示数据
        var loading = function () {
            var st = $(window).scrollTop(), sth = st + $(window).height();
            $.each(params.cache, function (i, data) {
                var o = data.obj, tag = data.tag, url = data.url;
                if (o) {
                    post = o.position().top;
                    if (post < 10)
                        post = o.offset().top;
                    posb = post + o.height();

                    if ((post > st && post < sth) || (posb > st && posb < sth)) {
                        //在浏览器窗口内

                        if (tag === "img") {
                            //图片,改变src
                            o.attr("src", url);
                        } else if (tag == "iframe") {
                            o.attr("src", url);
                        } else if (tag == "span") {                          
                            eval(url);
                        }
                        else {
                            o.load(url);
                        }
                        data.obj = null;
                    }
                }
            });
            return false;
        };

        //事件触发
        //加载完毕即执行
        loading();
        //滚动执行
        $(window).bind("scroll", loading);
    };
})(jQuery);
引用方法:
$(function(){ $('img').scrollLoading(); });

注意html文件:
<img data-url="http://xxx.com/898.jpg.167_167.jpg"  style="backgound:url(http://www.mb5u.com/uploads/sucai/2008825893756277801.gif) no-repeat center;" align="absmiddle"  width="167" height="167"/>  



属性data-url 必须有而且url为图片实际地址


分享到:
评论

相关推荐

    JQuery实现页面图片懒加载效果仅需两行代码

    在网页设计中,为了提高页面加载速度和用户体验,...总的来说,利用jQuery和lazyload插件,我们可以轻松实现图片的懒加载,优化网页性能,同时保持良好的用户体验。只需简单几步,你的图片密集型网页就能变得更加高效。

    jquery.DataLazyLoad数据延迟加载插件

    jQuery DataLazyLoad插件是基于JavaScript库jQuery设计的,用于延迟加载页面中的图片、iframe、div等元素。通过这种方式,页面初始加载时只会显示可见区域的内容,当用户滚动页面时,隐藏的元素才会被动态加载,从而...

    JQuery LazyLoad 图片懒加载实例

    为了解决这一问题,我们可以使用`jQuery LazyLoad`插件实现图片的延迟加载,即“懒加载”。本文将详细介绍如何利用jQuery LazyLoad来实现图片的懒加载功能,并通过实例进行演示。 ### 1. jQuery LazyLoad 插件简介 ...

    延迟加载js代码下载(包括页面延迟加载以及图片延迟加载)

    本篇文章将详细讲解延迟加载在JavaScript(js)和jQuery中的应用,以及如何实现页面和图片的延迟加载。 一、延迟加载的概念 延迟加载,也称为懒加载(Lazy Loading),是指在需要时才加载资源的技术。这种技术主要...

    jQuery懒加载插件页面滚动加载数据代码

    jQuery是广泛使用的JavaScript库,它提供了丰富的API和插件来实现各种功能,包括懒加载。在jQuery中,我们可以使用专门的插件如`lazyload.js`或`jQuery_lazyload.js`来实现这个功能。 要使用jQuery懒加载插件,首先...

    js,jquery懒加载demo

    JavaScript 和 jQuery 的懒加载技术是一种优化网页性能的策略,它主要应用于图片、视频或大量数据的加载。懒加载的核心思想是延迟加载非视口内的资源,直到用户滚动到相应的位置时才进行加载,从而减少首屏加载时间...

    用jquery实现iframe高度自适应实例代码完美兼容多数浏览器

    它的主要属性包括`src`(指定要加载的URL)、`width`和`height`(定义iframe的宽度和高度)等。 然而,`iframe`的默认行为并不自动调整其高度以适应内容,这就可能导致内容溢出或者滚动条的出现,影响用户体验。...

    jquerylazyload延迟加载图片的jQuery插件

    - **视频支持**:`jQuery LazyLoad`不仅限于图片,还可以处理`iframe`元素,实现视频的延迟加载。 - **动画效果**:可以通过设置`effect`选项,添加加载时的过渡效果,如淡入淡出。 - **事件处理**:插件提供`load`...

    jQuery:图片缓存 10 jQuery Image Cache Plugins and Scripts

    - 类似于 lazyLoadXT,jQuery.lazy 也实现了图片的懒加载功能,但提供了更多的自定义选项,如绑定事件触发加载、延迟加载时间等,适用于各种复杂场景。 6. **imagesLoaded** - 不是一个传统的预加载插件,而是...

    jQuery8种不同的懒加载loading效果

    总之,jQuery提供了丰富的工具和方法来实现懒加载,结合不同的加载效果,可以创建出既高效又美观的网页。通过合理运用这些技术,开发者可以提升网站性能,优化用户体验,同时满足现代网页设计的需求。

    jQuery延迟加载

    jQuery库提供了一种简单易用的方式来实现图片延迟加载,使得图片在用户滚动到其可视区域时才开始加载,从而减少了初次加载页面时的数据量。 ### 一、延迟加载原理 延迟加载的核心思想是,只有当元素进入浏览器的...

    jquery对iframe自适应高度插件

    `iframe`可以用来加载外部HTML文档,实现页面的组合或者展示第三方内容,如视频、地图等。然而,`iframe`的默认高度和宽度可能并不适合所有情况,特别是当内容动态变化时,可能会导致滚动条的出现或内容被截断。为了...

    懒加载jquery.lazyload.js

    1. **加载其他类型的元素**:除了图片,LazyLoad.js 还可以用于加载`iframe`、`video`等其他元素,只需调整HTML结构和CSS选择器即可。 2. **延迟加载背景图**:通过设置`data-bg`属性,可以实现背景图的懒加载。 3. ...

    延迟加载插件

    使用jQuery LazyLoad插件,开发者可以很容易地将延迟加载功能应用到页面上的图片、IFrame或者其他需要延迟加载的元素上。通常,这个过程包括以下几个步骤: 1. **安装插件**:首先,需要将jQuery库和jQuery Lazy...

    jQuery 网页打印组件升级版(支持打印 iframe 内的内容)

    合理使用延迟加载、异步处理等技术可以提高用户体验。 ### 6. 结论 jQuery 网页打印组件升级版是一个强大的工具,尤其对于处理iframe打印需求的开发者来说,它简化了工作流程,提高了代码的可维护性。通过理解和...

    JQuery IFrame框架高度自适应(支持嵌套–兼容IE,ff,safafi,chrome)

    通过使用jQuery来实现iframe的高度自适应,我们可以确保内容在不同浏览器(包括IE、Firefox、Safari和Chrome)中的显示一致性,无论iframe内嵌的页面有多复杂。 首先,我们需要理解iframe的基本概念。IFrame,即...

    前端项目-Iframe-Height-Jquery-Plugin.zip

    3. **配置选项**:根据项目需求,可能需要自定义一些配置,如是否启用跨域支持、延迟设置高度的时间等。 总的来说,`前端项目-Iframe-Height-Jquery-Plugin`是一个非常实用的工具,它解决了前端开发中常见的iframe...

    iframe手风琴折叠式加载多网页效果.rar

    在网页设计中,"iframe手风琴折叠式加载多网页效果"是一种常见的交互设计手法,它结合了iframe和手风琴折叠效果,为用户提供了一种高效、简洁的浏览多页面内容的方式。Iframe(Inline Frame)是HTML的一种元素,允许...

    js检测iframe是否加载完成的方法

    在JavaScript中,检测一个iframe是否已经完全加载完成是常见...总之,JavaScript检测iframe是否加载完成可以通过定时轮询和对比预期结果的方式实现,但这种方法存在一定的局限性,实际使用时需要结合具体场景进行优化。

Global site tag (gtag.js) - Google Analytics