<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懒加载插件是一种优化网页性能的技术,它允许我们在用户滚动页面时按需加载内容,而不是一次性加载所有数据。这种技术对于拥有大量图片、视频或动态数据的网页尤其有用,因为它减少了初始页面加载时间,提高了...
标题中的“滚动层例子,消息”指的是在网页中实现一种动态滚动的消息提示层,这种功能常见于许多网站,用于向用户展示重要的通知、提示信息或者更新。这种滚动层通常是使用JavaScript库,比如JQUERY,来实现动态效果...
总结来说,这个例子展示了如何在Vue.js应用中实现一个基础的无限滚动加载功能。通过监听滚动事件、设置加载状态标志和正确判断滚动到底部,我们可以创建一个高效且响应式的滚动加载机制,提高用户体验。在实际项目中...
在网页设计中,为了提升用户体验,尤其是在处理大量图片的页面时,通常会采用“滚动加载”技术。这种技术能有效地优化页面加载速度,使得用户在浏览页面时,只有当图片进入可视区域时才会开始加载。淘宝网就是采用了...
这个小例子可能包含了HTML、CSS和JavaScript的基础知识,以及JSP特有的语法和功能,如使用JSP标签库(Tag Libraries)或者自定义标签来处理图片的加载和滚动逻辑。 在实现这个功能时,开发者首先需要在服务器端创建...
在本文中,我们将深入探讨如何使用 Vue.js 的 `vue-infinite-scroll` 插件来实现在网页中向下滚动时加载更多数据的功能,这是一种常见的优化用户体验的策略,称为“滚动加载”或“无限滚动”。 首先,要安装 `vue-...
通过这些技术,开发者可以创建出各种各样的滚动动画,如滚动加载更多内容、平滑滚动到页面特定部分、导航栏元素在滚动时的变换等。在"滚动动画例子案例"中,我们可以看到如何将这些概念应用于实际项目,学习如何将...
总的来说,jQuery Masonry通过其强大的布局算法和灵活的API,为开发者提供了创建富有动态感的方砖布局和无限滚动加载的功能,从而提升了网页的交互性和用户体验。理解并熟练运用jQuery Masonry,能让你的网页设计...
**CSS3 Loading文字拆分滚动加载动画特效详解** 在网页设计中,加载动画是提升用户体验的重要元素,尤其是在页面内容较多或者加载时间较长时。本文将详细介绍如何使用CSS3的animation属性来创建一个独特的"Loading...
JavaScript 滚动加载更多是一种常见的网页优化技术,它允许用户在浏览页面时无需手动翻页,当页面接近底部时自动加载新的内容。这种技术在新闻网站、社交媒体和长篇文章列表中尤为常见,提升了用户体验。以下是对...
标题"图片延时加载例子"指的是一个关于实现图片延时加载的具体实例。在这个例子中,可能使用了一个名为"Kissy-min"的JavaScript库,它是一个轻量级的前端工具集,用于处理图片延迟加载。Kissy-min 提供了方便的方法...
在本文中,我们将深入探讨iscroll.js,一个用于实现高性能滚动效果的JavaScript库,特别是针对滚动加载(infinite scroll)的实例。iscroll.js通过优化滚动性能,使得在移动设备和桌面浏览器上都能流畅地处理大量的...
HTML页面滚动显示特效动画是一种常见的网页交互设计,它利用JavaScript或者CSS3技术,在用户滚动页面时,让某些元素根据预设的动画效果进入或离开视口。这种效果能提升用户体验,使网页更具动态感和吸引力。在HTML5...
在网页设计中,用户体验往往是一个重要的考量因素,而页面滚动加载效果可以提升用户对网站的交互体验。"jQuery页面滚动顶部进度条加载效果代码"是一个实现这种效果的示例,它利用JavaScript库jQuery来创建一个在页面...
在网页设计中,图片是重要的元素之一,但大量图片的加载可能会拖慢页面的加载速度,特别是在用户首次访问页面时。为了解决这个问题,一种常见的技术是图片延迟加载,也称为懒加载(Lazy Loading)。jQuery作为一个...
在本篇文章中,我们将探讨如何利用Vue指令实现滚动加载(scroll loading)和监听滚动事件,这对于处理长列表或无限滚动页面至关重要。 首先,我们需要创建一个自定义指令`v-loadmore`,这个指令将在元素滚动到底部...
本资源“音视频资料-图片延时加载例子详解.rar”提供了关于这个主题的详细指南,主要针对图片资源的处理。以下是相关知识点的详细说明: 1. **图片延时加载原理**:传统上,网页在加载时会一次性下载所有图片,这...
在IT行业中,自动滚动Banner是一种常见的网页或应用界面设计元素,用于展示多个广告、通知或者特色内容。在本例中,我们关注的是一个名为"autoScrollBanner.jar"的Java应用程序,它提供了一个自动左右滚动Banner的...
它允许网页内容以全屏页面的形式展示,并且可以根据浏览器窗口的大小自动调整,确保内容始终填满整个屏幕,同时提供流畅的滚动体验。 **Fullpage.js的基本功能** 1. **全屏滑动**:Fullpage.js将网页分割成多个...
在AngularJS中,为了实现下拉滚动加载的功能,开发者经常使用第三方库ngInfiniteScroll。ngInfiniteScroll是一个专门用于AngularJS的插件,它允许你在用户滚动到页面底部时自动加载更多的数据,从而实现无限滚动的...