最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
HTML中如何實(shí)現(xiàn)瀑布流布局

這篇文章將為大家詳細(xì)講解有關(guān)HTML中如何實(shí)現(xiàn)瀑布流布局,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(創(chuàng)新互聯(lián)公司).為客戶提供專業(yè)的成都服務(wù)器托管,四川各地服務(wù)器托管,成都服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:028-86922220

第一種方式:使用JavaScript:





瀑布流布局





第二種方式:使用jquery:(html結(jié)構(gòu)跟css同上)

$( window ).on( "load", function(){
 waterfall('main','box');
 //模擬數(shù)據(jù)json
 var dataJson = {'data': [{'src':'30.jpg'},{'src':'31.jpg'},{'src':'32.jpg'},{'src':'33.jpg'},{'src':'34.jpg'},{'src':'35.jpg'},{'src':'36.jpg'},{'src':'37.jpg'},{'src':'38.jpg'},{'src':'39.jpg'},{'src':'40.jpg'},{'src':'41.jpg'},{'src':'42.jpg'},{'src':'43.jpg'},{'src':'44.jpg'},{'src':'45.jpg'}]};
 window.onscroll=function(){
 var isPosting = false;
 if(checkscrollside('main','box') && !isPosting){
  isPosting = true;
  $.each(dataJson.data,function(index,dom){
  var $box = $('');
  $box.html('');
  $('#main').append($box);
  waterfall('main','box');
  isPosting = false;
  });
 }
 }
});
/*
 parend 父級(jí)id
 clsName 元素class
 */
function waterfall(parent,clsName){
 var $parent = $('#'+parent);//父元素
 var $boxs = $parent.find('.'+clsName);//所有box元素
 var iPinW = $boxs.eq( 0 ).width()+15;// 一個(gè)塊框box的寬
 var cols = Math.floor( $( window ).width() / iPinW );//列數(shù)
 $parent.width(iPinW * cols).css({'margin': '0 auto'});
 var pinHArr=[];//用于存儲(chǔ) 每列中的所有塊框相加的高度。
 $boxs.each( function( index, dom){
 if( index < cols ){
  pinHArr[ index ] = $(dom).height(); //所有列的高度
 }else{
  var minH = Math.min.apply( null, pinHArr );//數(shù)組pinHArr中的最小值minH
  var minHIndex = $.inArray( minH, pinHArr );
  $(dom).css({
  'position': 'absolute',
  'top': minH + 15,
  'left': $boxs.eq( minHIndex ).position().left
  });
  //添加元素后修改pinHArr
  pinHArr[ minHIndex ] += $(dom).height() + 15;//更新添加了塊框后的列高
 }
 });
}
//檢驗(yàn)是否滿足加載數(shù)據(jù)條件,即觸發(fā)添加塊框函數(shù)waterfall()的高度:最后一個(gè)塊框的距離網(wǎng)頁(yè)頂部+自身高的一半(實(shí)現(xiàn)未滾到底就開(kāi)始加載)
function checkscrollside(parent,clsName){
 //最后一個(gè)塊框
 var $lastBox = $('#'+parent).find('.'+clsName).last(),
 lastBoxH = $lastBox.offset().top + $lastBox.height()/ 2,
 scrollTop = $(window).scrollTop(),
 documentH = $(document).height();
 return lastBoxH < scrollTop + documentH ? true : false;
}

第三種方式:使用css:(html結(jié)構(gòu)同上)

.clearfix:after,
.clearfix:before {
 content: " ";
 display: table;
}
.clearfix:after {
 clear: both;
}
.main {
 position: relative;
 [color=#ff0000]-webkit-column-width: 210px;
 -moz-column-width: 210px;
 -webkit-column-gap: 5px;
 -moz-column-gap: 5px;[/color]
}
.box {
 float: left;
 padding: 15px 0 0 15px;
}
.box .pic {
 width: 180px;
 height: auto;
 padding: 10px;
 border-radius: 5px;
 box-shadow: 0 0 5px #cccccc;
 border: 1px solid #cccccc;
}
.box .pic img {
 display: block;
 width: 100%;
}

瀑布流實(shí)現(xiàn)方式比較:

Javascript原生方式/jquery方式

1、需要計(jì)算,列數(shù) = 瀏覽器窗口寬度/圖片寬度,圖片定位是根據(jù)每一列的高度計(jì)算下來(lái)圖片的位置;

2、圖片排序是按照?qǐng)D片計(jì)算的位置橫向排列,位置是計(jì)算出來(lái)的,比較規(guī)范

Css方式

1、不需要計(jì)算,瀏覽器自動(dòng)計(jì)算,只需設(shè)置列寬,性能高;

2、列寬隨著瀏覽器窗口大小進(jìn)行改變,用戶體驗(yàn)不好;

3、圖片排序按照垂直順序排列,打亂圖片顯示順序;

4、圖片加載還是依靠javascript/jquery實(shí)現(xiàn)

關(guān)于“HTML中如何實(shí)現(xiàn)瀑布流布局”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


當(dāng)前題目:HTML中如何實(shí)現(xiàn)瀑布流布局
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/piepic.html