最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)仿百度瀑布流的方法

 更新時間:2015年02月05日 15:10:26   作者:magicfly9527  
這篇文章主要介紹了js實現(xiàn)仿百度瀑布流的方法,以完整實例形式分析了js仿百度瀑布流的相關樣式與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了js實現(xiàn)仿百度瀑布流的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>仿百度圖片瀑布流</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="js/jquery.min.js"></script>
<style>
*{margin:0; padding:0;}
#container{
width: 1000px;
border:1px solid #f00;
margin: 50px auto;
position: relative;
}
#container img{
position: absolute;
}
#loader{
width: 100%;
height: 60px;
background: url(loader.gif) no-repeat center;
position: fixed;
bottom: 0;
left: 0;
}
</style>
</head>
<script type="text/javascript">
$(function(){
 var oContainer=$('#container');
 var oLoader=$('#loader');
 var iWidth=200;//列寬
 var iSpace=10;//列數(shù)
 var iOuterWidth=iWidth+iSpace;
 var sUrl = 'localhost/api/json/popular?callback=?';
 var iCell=0;
 var iPage=0;
 var arrL=[];
 var arrT=[];
 var iBtn=true;

 function setCells(){
  iCell= Math.floor($(window).innerWidth()/iOuterWidth);
  if(iCell < 3){
   iCell =3;
  }
  if(iCell >6){
   iCell =6;
  }
  oContainer.css('width',iOuterWidth*iCell-iSpace);
 }
 setCells();
 for(var i=0;i < iCell; i++){
  arrL.push(i*iOuterWidth);
  arrT.push(0);
 }
 //console.log(arrL)
 getData()
 function getData(){
  if(iBtn){
   iBtn =false
   oLoader.show();
   $.getJSON(sUrl,'page='+iPage,function(data){
    $.each(data,function(i,obj){
     var $img =$('<img>');
     $img.attr('src',obj.preview);
     var iHeight= iWidth /obj.width * obj.height;
     var index=getMin();
     $img.appendTo(oContainer);
     $img.css({width:iWidth,height: iHeight});
     $img.css({top:arrT[index],left: arrL[index]})
     arrT[index]+=iHeight +10;
     oLoader.hide();
    })
    iPage++;
    iBtn=true;
   })
  }
 }
 $(window).on('resize',function(){
  var iOldCell= iCell;
  setCells();
  var iH = $(window).scrollTop()+$(window).innerHeight();
  var iMinIndex= getMin();
  if(arrT[iMinIndex]+oContainer.offset().top < iH){
   getData();
  }
  if(iOldCell == iCell) return ;
  arrT=[];
  arrL=[];
  for(var i=0;i < iCell; i++){
   arrL.push(i*iOuterWidth);
   arrT.push(0);
  }
  var $img = oContainer.find('img');
  $img.each(function(index,obj){
   var index=getMin();
   $(this).animate({top:arrT[index],left: arrL[index]})
   arrT[index]+=$(this).height() +10;
  })
 })
 $(window).on('scroll',function(){
  var iH = $(window).scrollTop()+$(window).innerHeight();
  var iMinIndex= getMin();
  if(arrT[iMinIndex]+oContainer.offset().top < iH){
   getData();
  }
 })
 function getMin(){
  var iv= arrT[0];
  var _index=0;
  for(var i=0; i<arrT.length; i++){
   if(arrT[i] < iv){
    iv= arrT[i];
    _index=i;
   }
  }
  return _index ;
 }
})
</script>
<body>
 <div id="top">仿百度圖片瀑布流</div> 
 <!--標題 e -->
 <div id="container"></div>
 <div id="loader"></div>
 <!--效果塊 e -->
</body>
</html>

希望本文所述對大家的javascript程序設計有所幫助。

相關文章

  • JavaScript 函數(shù)的定義-調用、注意事項

    JavaScript 函數(shù)的定義-調用、注意事項

    這篇文章主要介紹了JavaScript 函數(shù)的定義-調用、注意事項,需要的朋友可以參考下
    2017-04-04
  • TS中type和interface的區(qū)別解析

    TS中type和interface的區(qū)別解析

    對于type來說,更多的是對類型的一種復用,比如在項目中需要用到一些比較復雜的或者書寫起來很長的類型,而對于 interface來說,它是正兒八經(jīng)的用來定義接口類型(約束數(shù)類型和屬性)的,且接口類型是支持繼承和聲明合并的,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • 顯示js對象所有屬性和方法的函數(shù)

    顯示js對象所有屬性和方法的函數(shù)

    顯示js對象所有屬性和方法,從網(wǎng)上整理了不少,大家可以看下原理都是差不多的。
    2009-10-10
  • js實現(xiàn)Select頭像選擇實時預覽代碼

    js實現(xiàn)Select頭像選擇實時預覽代碼

    這篇文章主要介紹了js實現(xiàn)Select頭像選擇實時預覽代碼,涉及javascript動態(tài)遍歷及設置select選項的技巧,非常簡單實用,需要的朋友可以參考下
    2015-08-08
  • 使用JS的DOM文檔對象模型獲取前端循環(huán)的參數(shù)

    使用JS的DOM文檔對象模型獲取前端循環(huán)的參數(shù)

    這篇文章主要介紹了使用JS的DOM(文檔對象模型)獲取前端循環(huán)的參數(shù),本文結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • JavaScript數(shù)組排序的六種常見算法總結

    JavaScript數(shù)組排序的六種常見算法總結

    這篇文章主要給大家介紹了關于JavaScript數(shù)組排序的六種常見算法,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用JavaScript數(shù)組具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-08-08
  • js 判斷附件后綴的簡單實現(xiàn)方法

    js 判斷附件后綴的簡單實現(xiàn)方法

    下面小編就為大家?guī)硪黄猨s 判斷附件后綴的簡單實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 原生JavaScript生成GUID的實現(xiàn)示例

    原生JavaScript生成GUID的實現(xiàn)示例

    GUID(全局統(tǒng)一標識符)是指在一臺機器上生成的數(shù)字,下面為大家介紹下原生JavaScript生成GUID的實現(xiàn),需要的朋友不要錯過
    2014-09-09
  • IE事件對象(The Internet Explorer Event Object)

    IE事件對象(The Internet Explorer Event Object)

    不同于DOM事件對象,基于Event Handler授權這種方式,IE事件對象可以用不同的方式進行訪問。當一個事件Handler通過DOM 0 級的方式被授權,則這個事件對象將作為window對象的屬性而存在
    2012-06-06
  • js模擬實現(xiàn)京東詳情頁圖片放大效果

    js模擬實現(xiàn)京東詳情頁圖片放大效果

    這篇文章主要為大家詳細介紹了js模擬實現(xiàn)京東詳情頁圖片放大效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論

茂名市| 封丘县| 灵璧县| 平度市| 承德市| 吉木萨尔县| 昆明市| 诸暨市| 宁化县| 油尖旺区| 内黄县| 海城市| 石泉县| 陕西省| 宁武县| 石台县| 龙胜| 平遥县| 辽阳县| 中西区| 临夏市| 金阳县| 青浦区| 荥经县| 宣城市| 马关县| 饶河县| 兴文县| 蚌埠市| 瑞丽市| 富蕴县| 绥棱县| 贵定县| 新河县| 曲阜市| 苍溪县| 普陀区| 句容市| 稷山县| 西藏| 泰安市|