`
liuhd2010
  • 浏览: 149060 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

滚动加载图片實現

 
阅读更多

经常看到些网站滚动时自动加载图片,这样做的好处是,不必一次性加载完所有数据,就可以浏览内容。

查找了些相关资,现作下整理:

1、jQuery滚动加载插件scrollLoading,将其封装做成插件:

jquery.scrollLoading.js

(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; posb = post + o.height();
                    if ((post > st && post < sth) || (posb > st && posb < sth)) {
                        //在浏览器窗口内
                        if (tag === "img") {
                            //图片,改变src
                            o.attr("src", url);    
                        } else {
                            o.load(url);
                        }    
                        data.obj = null;        
                    }
                }
            });        
            return false;    
        };
        
       //事件触发
        //加载完毕即执行
        loading();
       //滚动执行
        $(window).bind("scroll", loading);
    };
})(jQuery);

 2、scrollLoading使用

<script type="text/javascript" src="../ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="../js/jquery.scrollLoading.js"></script>
<script> 
$(function() {
	$(".scrollLoading").scrollLoading();	
});
</script>

 

3、HTML中加载图片代码

<div id="zxxMainCon" class="zxx_main_con">
	<script>
		var tempHTML = "";
		for (var i=1; i<=30; i+=1) {
			if (i == 6) {
				tempHTML += '<div class="zxx_test_list scrollLoading" data-url="loaded.html"><div style="padding:100px 0; text-align:center;"><img src="http://www.zhangxinxu.com/study/image/loading.gif" style="margin:0 8px -8px 0;" />加载中...</div></div>';
			} else {
				tempHTML += '<div class="zxx_test_list tc"><img class="scrollLoading" data-url="http://image.zhangxinxu.com/image/study/head/s180/'+i+'.jpeg" src="http://www.zhangxinxu.com/study/image/pixel.gif" width="180" height="180" style="background:url(http://www.zhangxinxu.com/study/image/loading.gif) no-repeat center;" /><br />图片'+i+'(新浪微博提供)</div>';
			}
		}
		document.getElementById("zxxMainCon").innerHTML = tempHTML;
	</script>
</div>

 

 

分享到:
评论

相关推荐

    jQuery无限滚动加载图片瀑布流代码

    在这个案例中,可能使用的jQuery插件如`jQuery.pbl`,这个插件专为实现无限滚动加载图片的瀑布流效果而设计。它可能包含了以下功能: - **DOM元素监听**:插件会监听滚动事件,当用户滚动到页面的特定位置时触发...

    jQuery滚动加载图片实现原理

    要实现图片滚动加载,需要考虑以下几个技术点: 1. 如何判断一个图片元素是否进入了可视区域。 2. 如何在合适的时间替换图片URL。 3. 如何获取元素的位置和尺寸信息,以确定其是否已进入可视区域。 在判断元素是否...

    jQuery无限滚动加载图片瀑布流代码.zip

    而`jQuery无限滚动加载图片瀑布流代码`文件可能是实际的JavaScript代码,包含具体的实现逻辑,如初始化设置、滚动事件监听、新图片的请求和渲染等。 在实际应用中,这样的代码可以广泛应用于照片分享网站、电商产品...

    html5实现的页面滚动图片动画加载特效源码.zip

    另外,JavaScript(通常与jQuery库一起使用)是实现滚动加载特效的关键。通过监听滚动事件,如`$(window).scroll()`,我们可以检测用户何时接近预设的图片区域。一旦满足条件,JavaScript可以触发加载动画,并使用...

    jQuery实现无限滚动加载图片瀑布流特效源码.zip

    【标题】"jQuery实现无限滚动加载图片瀑布流特效源码.zip"所涉及的知识点主要集中在JavaScript库jQuery的应用以及网页图片的动态加载和布局技术。在这个项目中,开发者使用jQuery来创建一个图片瀑布流布局,同时实现...

    加载网络图片横向滚动

    为了显示一系列网络图片,我们需要创建一个自定义的ViewHolder,它包含一个ImageView,并在onBindViewHolder()方法中加载图片: ```java public class MyViewHolder extends RecyclerView.ViewHolder { public ...

    滚动条滚动延迟加载图片

    压缩包中的"滚动加载图片"可能包含一个简单的JavaScript示例代码,用于演示如何实现这一功能。这个文件可能包括如何创建Observer,如何定义加载条件,以及如何处理加载事件的代码。如果你需要更深入地了解或实现滚动...

    jQuery滚动加载图片效果的实现

    jQuery 滚动加载图片效果的实现 jQuery 滚动加载图片效果是指在页面滚动到一定位置时,加载图片的效果,这种效果可以减少页面的初次加载时间,提高用户体验。以下是 jQuery 滚动加载图片效果的实现细节: 一、滚动...

    网页图片随滚动条加载

    这种技术的实现通常需要JavaScript库或框架的支持,比如jQuery、vanillaJS,或者现代前端框架如React、Vue等都有对应的插件或组件可以方便地实现图片滚动加载功能。 总结起来,网页图片随滚动条加载是提升网页性能...

    仿微博内容滑动加载,图片滚动无限加载(漂亮的放大效果)

    1. **内容滑动加载**:也称为“无限滚动”或“滚动加载”,是一种网页和应用程序设计技术,允许用户在滚动页面时自动加载更多内容,而不是通过点击分页按钮。这种设计减少了用户的操作步骤,使他们能够连续浏览内容...

    拖动滚动条自动加载图片页面

    4. `jquery.scrollLoading.js`:这个文件可能是基于jQuery编写的脚本,专门用于实现滚动条自动加载图片或页面内容的功能。它可能包含了监听滚动事件、判断加载时机、请求新数据以及插入新内容到页面等逻辑。 综上所...

    Framework7滚动加载及图片滚动

    在这个主题中,“Framework7滚动加载及图片滚动”主要关注的是如何在应用中实现下拉刷新和图片的滚动效果。 1. **下拉加载(Pull to Refresh)** 下拉加载是移动应用中常见的功能,用户在页面顶部向下拖动时,会...

    Jquery实现手机端上拉滚动加载更多数据

    在移动设备上,为了优化用户体验,常常需要使用到“上拉滚动加载更多”功能,这在Jquery中可以通过实现特定的脚本逻辑来达成。这种技术通常被应用于新闻列表、商品展示等需要显示大量数据的场景,使得用户不必翻页,...

    html5页面滚动图片动画加载特效

    在滚动图片加载特效中,可以利用canvas预加载图片,然后在用户滚动到相应位置时,用canvas绘制出已经加载的图片,从而实现平滑的动画过渡。 其次,CSS3的transform和transition属性是创建滚动动画的关键。transform...

    jquery响应式网站瀑布流布局带图片延迟无限滚动加载效果

    在瀑布流布局中,可以使用jQuery监听滚动事件,判断图片是否在可视区域内,如果在,则加载图片。 5. **无限滚动**:也称为滚动加载或自动加载,是指当用户滚动到页面底部时,新的内容会自动加载进来,模拟无限滚动...

    jQuery实现的瀑布流效果, 向下滚动即时加载内容

    在实际应用中,还可以考虑其他优化策略,如预加载邻近内容、懒加载图片等,以提高页面加载速度和用户体验。对于大量图片的展示,还可以使用图片懒加载技术,即只有当图片进入可视区域时才开始加载,降低首次加载页面...

    易语言画板带滚动条加载图片源码

    在这个特定的源码示例中,“易语言画板带滚动条加载图片源码”是为了实现一个功能丰富的图形用户界面,其中包含了显示大图片并支持通过滚动条浏览的功能。 首先,我们要理解画板的概念。在编程中,画板通常指的是一...

Global site tag (gtag.js) - Google Analytics