css和js實(shí)現(xiàn)瀑布流效果示例
發(fā)布時(shí)間:2014-05-05 16:19:50 作者:佚名
我要評(píng)論

這篇文章主要介紹了css和js實(shí)現(xiàn)瀑布流效果示例,需要的朋友可以參考下
瀑布流效果
html代碼
復(fù)制代碼
代碼如下:<div class="wrap">
<div class="bigbox" id="bigbox">
<!--每一小塊開(kāi)始-->
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描述</h2>
<p>此為介紹和描述</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描2述</h2>
<p>此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述2</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描3述</h2>
<p>此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述3</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描4述</h2>
<p>此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述4</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描5述</h2>
<p>此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述5</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描述</h2>
<p>此為介紹和描述</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描2述</h2>
<p>此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述2</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描3述</h2>
<p>此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述3</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描4述</h2>
<p>此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述4</p>
</div>
</div>
<div class="listbox">
<div class="listbox-con">
<h2>圖片介紹和描5述</h2>
<p>此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述此為介紹和描述5</p>
</div>
</div>
</div>
</div>
css樣式代碼
復(fù)制代碼
代碼如下:*{ margin:0px; padding:0px;}
.wrap{ padding:15px;}
.bigbox{ width:100%; position:relative;}
.listbox{ width:23%; padding:1%; position:absolute; box-shadow:0 0 1px #CCC;}
.listbox-con{ background:#fefefe;}
.listbox-con h2{ font-size:16px; color:#333;}
.listbox-con p{ font-size:14px; color:#666;}
插件代碼
復(fù)制代碼
代碼如下:(function($){
var defaults ={
wflist:'.listbox'
};
$.fn.waterfal = function(opt){
opt =$.extend({},defaults,opt);
// 變量
var obj = $(this);//當(dāng)前對(duì)象
var wfwidth = $(opt.wflist).outerWidth(true),
minHeight = 0,
maxcol=Math.floor($(window).width()/wfwidth);
(function(wflist,maxcol,wfwidth,minHeight){
var wfarr = new Array(),minHeight = 0,minCol=0;
for(i=0;i<wflist.length;i++){
colHeight=wflist.eq(i).outerHeight(true);
if(i<maxcol){
wfarr[i] = colHeight;
wflist.eq(i).css({'top':0,left:i*wfwidth});
}else{
minHeight=Math.min.apply(null,wfarr);//
minCol = getArrayKey(wfarr, minHeight);
wfarr[minCol] += colHeight; //加上新高度后更新高度值
wflist.eq(i).css({"top":minHeight,left:minCol * wfwidth}); //先得到高度最小的Li,然后把接下來(lái)的li放到它的下面
}
wflist.eq(i).attr('id',"post_"+i);
};
})( $(opt.wflist),maxcol,wfwidth,minHeight);
function getArrayKey(wfa,minh){//使用for in運(yùn)算返回?cái)?shù)組中某一值的對(duì)應(yīng)項(xiàng)數(shù)(比如算出最小的高度值是數(shù)組里面的第幾個(gè))
for( ind in wfa ) {
if( wfa[ind] == minh) {
return ind;
}
}
};
var wfAreaH = parseInt( $(opt.wflist).last().css("top")) + $(opt.wflist).last().outerHeight(true)+ "px"; //顯示區(qū)域的高度為 最后一個(gè)元素的Top值+自身高度
obj.css({ "width":wfwidth * maxcol,"height":wfAreaH }); //設(shè)置顯示區(qū)域?qū)挾群透叨?
}
})(jQuery);
相關(guān)文章
css3 column實(shí)現(xiàn)卡片瀑布流布局的示例代碼
這篇文章主要介紹了css3 column實(shí)現(xiàn)卡片瀑布流布局的示例代碼的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-22- 這篇文章主要介紹了用CSS3實(shí)現(xiàn)瀑布流布局的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-10
CSS3實(shí)現(xiàn)瀑布流布局與無(wú)限加載圖片相冊(cè)的實(shí)例代碼
本篇文章主要介紹了CSS3實(shí)現(xiàn)瀑布流布局與無(wú)限加載圖片相冊(cè)的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-22- 這篇文章主要為大家詳細(xì)介紹了CSS3使用多列制作瀑布流的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-10
基于CSS3的CSS 多欄(Multi-column)實(shí)現(xiàn)瀑布流源碼分享
瀑布流,又稱瀑布流式布局。是比較流行的一種網(wǎng)站頁(yè)面布局,視覺(jué)表現(xiàn)為參差不齊的多欄布局,隨著頁(yè)面滾動(dòng)條向下滾動(dòng),這種布局還會(huì)不斷加載數(shù)據(jù)塊并附加至當(dāng)前尾部。我們只2014-06-11- css實(shí)現(xiàn)瀑布流空白處背景粉色背景塊,需要的朋友可以參考一下2013-02-22
詳解純css實(shí)現(xiàn)瀑布流(multi-column多列及flex布局)
這篇文章主要介紹了詳解純css實(shí)現(xiàn)瀑布流(multi-column多列及flex布局)的相關(guān)資料,用multi-column多列布局及flex布局實(shí)現(xiàn)瀑布流,感興趣的小伙伴們可以參考一下2018-09-04