手机
当前位置:查字典教程网 >网页设计 > Div+Css教程 >css和js实现瀑布流效果示例
css和js实现瀑布流效果示例
摘要:瀑布流效果html代码图片介绍和描述此为介绍和描述图片介绍和描2述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为...

瀑布流效果

css和js实现瀑布流效果示例1

html代码

<div>

<div id="bigbox">

<>

<div>

<div>

<h2>图片介绍和描述</h2>

<p>此为介绍和描述</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描2述</h2>

<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述2</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描3述</h2>

<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述3</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描4述</h2>

<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述4</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描5述</h2>

<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述5</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描述</h2>

<p>此为介绍和描述</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描2述</h2>

<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述2</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描3述</h2>

<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述3</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描4述</h2>

<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述4</p>

</div>

</div>

<div>

<div>

<h2>图片介绍和描5述</h2>

<p>此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述5</p>

</div>

</div>

</div>

</div>

css样式代码

*{ 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;}

插件代码

(function($){

var defaults ={

wflist:'.listbox'

};

$.fn.waterfal = function(opt){

opt =$.extend({},defaults,opt);

// 变量

var obj = $(this);//当前对象

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,然后把接下来的li放到它的下面

}

wflist.eq(i).attr('id',"post_"+i);

};

})( $(opt.wflist),maxcol,wfwidth,minHeight);

function getArrayKey(wfa,minh){//使用for in运算返回数组中某一值的对应项数(比如算出最小的高度值是数组里面的第几个)

for( ind in wfa ) {

if( wfa[ind] == minh) {

return ind;

}

}

};

var wfAreaH = parseInt( $(opt.wflist).last().css("top")) + $(opt.wflist).last().outerHeight(true)+ "px"; //显示区域的高度为 最后一个元素的Top值+自身高度

obj.css({ "width":wfwidth * maxcol,"height":wfAreaH }); //设置显示区域宽度和高度

}

})(jQuery);

【css和js实现瀑布流效果示例】相关文章:

CSS文章列表切换选项卡效果实例

CSS3实现的闪烁跳跃进度条示例

css实现强制不换行/自动换行/强制换行

div+css实现的滑动门

用css实现十字的布局示例代码

CSS的滤镜的效果详细介绍

CSS强制换行对齐的实现方法

一款纯css3实现的动画加载导航

css代码兼容浏览器技巧总结

相邻div实现一个跟着另一个自适应高度示例代码

精品推荐
分类导航