`
qq405371160
  • 浏览: 32430 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

页面滚动加载例子

 
阅读更多
<html>
<body>
        <div id="div1" frame_id='frame1'>
            <iframe id='frame1' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>    
        </div>
        
        <br/>
        <div id="div2" frame_id='frame2'>
            <iframe id='frame2' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>    
        </div>
        
        <br/>
        <div id="div3" frame_id='frame3'>
            <iframe id='frame3' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>    
        </div>
        
        <br/>
        <div id="div4" frame_id='frame4'>
            <iframe id='frame4' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>    
        </div>
        
        <br/>
        <div id="div5" frame_id='frame5'>
            <iframe id='frame5' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>    
        </div>
        
        <br/>
        
        
        
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    
    //需加载的初始页面集合,加载后从此集合中去除避免重复加载
    var d1 = document.getElementById("div1");
    var d2 = document.getElementById("div2");
    var d3 = document.getElementById("div3");
    var d4 = document.getElementById("div4");
    var d5 = document.getElementById("div5");
    var div_arr = [d1, d2, d3, d4, d5];
    
    loadFrame();

    var itv;
    $(window).scroll(function(){
        clearTimeout(itv);
        itv = setTimeout(loadFrame(),500);
    });
    
    function loadFrame(){
	    $("div[id^='div']").each(function(i){
	        var div_id = $(this).attr('id');
	        var load_id = $(this).attr('frame_id');
	        
	        var id_index = i+1;
	        
	        //已经加载过的不再加载
	        if(isContained(div_id)) {
        	    var oTop = $(this).offset().top;
        	    var scrolltop = $(window).scrollTop();
        	    var winHeight = $(window).height();
        	    //alert("oTop="+oTop+" \n" + "scrolltop="+scrolltop+" \n" + "winHeight="+winHeight+" \n" );
        		if((oTop-scrolltop)>0 && (oTop-scrolltop)<winHeight){
        			var frame_src = $("#"+load_id).attr("data_src");
        			$("#"+load_id).attr("src",frame_src);
        			deleteElement(div_id);
        		} 
	        }
    	});
		
	}
    
    //删除已经加载的记录
    function deleteElement(id) {
        for(var i=0; i<div_arr.length; i++) {
            if(div_arr[i]!=undefined && div_arr[i].id == id) {
                delete div_arr[i];
                return;
            }
        } 
    }
    
    //判断未加载列表是否包含当前对象
    function isContained(id) {
        var result = false;
        $.each(div_arr, function(i, n) {
            if(n!=undefined && n.id == id) {
                result = true;
            }    
        });
        return result;
    }
    
    
</script>
</body>
</html>
分享到:
评论

相关推荐

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

    jQuery懒加载插件是一种优化网页性能的技术,它允许我们在用户滚动页面时按需加载内容,而不是一次性加载所有数据。这种技术对于拥有大量图片、视频或动态数据的网页尤其有用,因为它减少了初始页面加载时间,提高了...

    滚动层例子,消息

    标题中的“滚动层例子,消息”指的是在网页中实现一种动态滚动的消息提示层,这种功能常见于许多网站,用于向用户展示重要的通知、提示信息或者更新。这种滚动层通常是使用JavaScript库,比如JQUERY,来实现动态效果...

    vue 使用鼠标滚动加载数据的例子

    总结来说,这个例子展示了如何在Vue.js应用中实现一个基础的无限滚动加载功能。通过监听滚动事件、设置加载状态标志和正确判断滚动到底部,我们可以创建一个高效且响应式的滚动加载机制,提高用户体验。在实际项目中...

    JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析_.docx

    在网页设计中,为了提升用户体验,尤其是在处理大量图片的页面时,通常会采用“滚动加载”技术。这种技术能有效地优化页面加载速度,使得用户在浏览页面时,只有当图片进入可视区域时才会开始加载。淘宝网就是采用了...

    jsp滚动图片小例子

    这个小例子可能包含了HTML、CSS和JavaScript的基础知识,以及JSP特有的语法和功能,如使用JSP标签库(Tag Libraries)或者自定义标签来处理图片的加载和滚动逻辑。 在实现这个功能时,开发者首先需要在服务器端创建...

    【JavaScript源代码】Vue向下滚动加载更多数据scroll案例详解.docx

    在本文中,我们将深入探讨如何使用 Vue.js 的 `vue-infinite-scroll` 插件来实现在网页中向下滚动时加载更多数据的功能,这是一种常见的优化用户体验的策略,称为“滚动加载”或“无限滚动”。 首先,要安装 `vue-...

    滚动动画例子案例.rar

    通过这些技术,开发者可以创建出各种各样的滚动动画,如滚动加载更多内容、平滑滚动到页面特定部分、导航栏元素在滚动时的变换等。在"滚动动画例子案例"中,我们可以看到如何将这些概念应用于实际项目,学习如何将...

    jquery Masonry插件方砖布局图片与内容无限滚动加载

    总的来说,jQuery Masonry通过其强大的布局算法和灵活的API,为开发者提供了创建富有动态感的方砖布局和无限滚动加载的功能,从而提升了网页的交互性和用户体验。理解并熟练运用jQuery Masonry,能让你的网页设计...

    CSS3 Loading文字拆分滚动加载动画特效

    **CSS3 Loading文字拆分滚动加载动画特效详解** 在网页设计中,加载动画是提升用户体验的重要元素,尤其是在页面内容较多或者加载时间较长时。本文将详细介绍如何使用CSS3的animation属性来创建一个独特的"Loading...

    【JavaScript源代码】JavaScript实现滚动加载更多.docx

    JavaScript 滚动加载更多是一种常见的网页优化技术,它允许用户在浏览页面时无需手动翻页,当页面接近底部时自动加载新的内容。这种技术在新闻网站、社交媒体和长篇文章列表中尤为常见,提升了用户体验。以下是对...

    图片延时加载例子

    标题"图片延时加载例子"指的是一个关于实现图片延时加载的具体实例。在这个例子中,可能使用了一个名为"Kissy-min"的JavaScript库,它是一个轻量级的前端工具集,用于处理图片延迟加载。Kissy-min 提供了方便的方法...

    iscroll.js滚动加载实例详解

    在本文中,我们将深入探讨iscroll.js,一个用于实现高性能滚动效果的JavaScript库,特别是针对滚动加载(infinite scroll)的实例。iscroll.js通过优化滚动性能,使得在移动设备和桌面浏览器上都能流畅地处理大量的...

    htmL页面滚动显示特效动画

    HTML页面滚动显示特效动画是一种常见的网页交互设计,它利用JavaScript或者CSS3技术,在用户滚动页面时,让某些元素根据预设的动画效果进入或离开视口。这种效果能提升用户体验,使网页更具动态感和吸引力。在HTML5...

    jQuery页面滚动顶部进度条加载效果代码

    在网页设计中,用户体验往往是一个重要的考量因素,而页面滚动加载效果可以提升用户对网站的交互体验。"jQuery页面滚动顶部进度条加载效果代码"是一个实现这种效果的示例,它利用JavaScript库jQuery来创建一个在页面...

    jQuery滚动图片延迟加载插件【一个大神写的】

    在网页设计中,图片是重要的元素之一,但大量图片的加载可能会拖慢页面的加载速度,特别是在用户首次访问页面时。为了解决这个问题,一种常见的技术是图片延迟加载,也称为懒加载(Lazy Loading)。jQuery作为一个...

    vue指令做滚动加载和监听等

    在本篇文章中,我们将探讨如何利用Vue指令实现滚动加载(scroll loading)和监听滚动事件,这对于处理长列表或无限滚动页面至关重要。 首先,我们需要创建一个自定义指令`v-loadmore`,这个指令将在元素滚动到底部...

    音视频资料-图片延时加载例子详解.rar

    本资源“音视频资料-图片延时加载例子详解.rar”提供了关于这个主题的详细指南,主要针对图片资源的处理。以下是相关知识点的详细说明: 1. **图片延时加载原理**:传统上,网页在加载时会一次性下载所有图片,这...

    自动左右滚动Banner例子

    在IT行业中,自动滚动Banner是一种常见的网页或应用界面设计元素,用于展示多个广告、通知或者特色内容。在本例中,我们关注的是一个名为"autoScrollBanner.jar"的Java应用程序,它提供了一个自动左右滚动Banner的...

    Fullpage全屏滚动例子

    它允许网页内容以全屏页面的形式展示,并且可以根据浏览器窗口的大小自动调整,确保内容始终填满整个屏幕,同时提供流畅的滚动体验。 **Fullpage.js的基本功能** 1. **全屏滑动**:Fullpage.js将网页分割成多个...

    AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法

    在AngularJS中,为了实现下拉滚动加载的功能,开发者经常使用第三方库ngInfiniteScroll。ngInfiniteScroll是一个专门用于AngularJS的插件,它允许你在用户滚动到页面底部时自动加载更多的数据,从而实现无限滚动的...

Global site tag (gtag.js) - Google Analytics