页面滚动加载例子

  1. <html>  
  2. <body>  
  3.         <div id="div1" frame_id='frame1'>  
  4.             <iframe id='frame1' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>      
  5.         </div>  
  6.           
  7.         <br/>  
  8.         <div id="div2" frame_id='frame2'>  
  9.             <iframe id='frame2' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>      
  10.         </div>  
  11.           
  12.         <br/>  
  13.         <div id="div3" frame_id='frame3'>  
  14.             <iframe id='frame3' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>      
  15.         </div>  
  16.           
  17.         <br/>  
  18.         <div id="div4" frame_id='frame4'>  
  19.             <iframe id='frame4' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>      
  20.         </div>  
  21.           
  22.         <br/>  
  23.         <div id="div5" frame_id='frame5'>  
  24.             <iframe id='frame5' data_src="http://www.baidu.com" style='height:700px;width:400px'></iframe>      
  25.         </div>  
  26.           
  27.         <br/>  
  28.           
  29.           
  30.           
  31. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>  
  32. <script type="text/javascript">  
  33.       
  34.     //需加载的初始页面集合,加载后从此集合中去除避免重复加载  
  35.     var d1 = document.getElementById("div1");  
  36.     var d2 = document.getElementById("div2");  
  37.     var d3 = document.getElementById("div3");  
  38.     var d4 = document.getElementById("div4");  
  39.     var d5 = document.getElementById("div5");  
  40.     var div_arr = [d1, d2, d3, d4, d5];  
  41.       
  42.     loadFrame();  
  43.   
  44.     var itv;  
  45.     $(window).scroll(function(){  
  46.         clearTimeout(itv);  
  47.         itv = setTimeout(loadFrame(),500);  
  48.     });  
  49.       
  50.     function loadFrame(){  
  51.         $("div[id^='div']").each(function(i){  
  52.             var div_id = $(this).attr('id');  
  53.             var load_id = $(this).attr('frame_id');  
  54.               
  55.             var id_index = i+1;  
  56.               
  57.             //已经加载过的不再加载  
  58.             if(isContained(div_id)) {  
  59.                 var oTop = $(this).offset().top;  
  60.                 var scrolltop = $(window).scrollTop();  
  61.                 var winHeight = $(window).height();  
  62.                 //alert("oTop="+oTop+" \n" + "scrolltop="+scrolltop+" \n" + "winHeight="+winHeight+" \n" );  
  63.                 if((oTop-scrolltop)>0 && (oTop-scrolltop)<winHeight){  
  64.                     var frame_src = $("#"+load_id).attr("data_src");  
  65.                     $("#"+load_id).attr("src",frame_src);  
  66.                     deleteElement(div_id);  
  67.                 }   
  68.             }  
  69.         });  
  70.           
  71.     }  
  72.       
  73.     //删除已经加载的记录  
  74.     function deleteElement(id) {  
  75.         for(var i=0; i<div_arr.length; i++) {  
  76.             if(div_arr[i]!=undefined && div_arr[i].id == id) {  
  77.                 delete div_arr[i];  
  78.                 return;  
  79.             }  
  80.         }   
  81.     }  
  82.       
  83.     //判断未加载列表是否包含当前对象  
  84.     function isContained(id) {  
  85.         var result = false;  
  86.         $.each(div_arr, function(i, n) {  
  87.             if(n!=undefined && n.id == id) {  
  88.                 result = true;  
  89.             }      
  90.         });  
  91.         return result;  
  92.     }  
  93.       
  94.       
  95. </script>  
  96. </body>  
  97. </html> 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值