<style type="text/css"> ul {position:relative;font-size:12px;width:900px} p {margin:10px 10px} p a {text-decoration:none;color:#0088cc} p a:hover {text-decoration:underline;} ul li {width:200px;border-radius:5px;list-style:none;position:absolute;margin:10px;height:150px;} li.a {height:auto}
.hide {opacity:0;filter:alpha(opacity=0)} img{width:200px} </style> <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script id="setwaterfall"> (function ($) { $.fn.setwaterfall = function (options) { function findLowestIndex(Arr) { var index = 0; var i; for (i in Arr) { if(Arr[i]<Arr[index]) { index = i; } } return index; }; function findBigestIndex(Arr) { var index = 0; var i; for (i in Arr) { if(Arr[i]>Arr[index]) { index = i; } } return index; }; var boxwidth = $(this).width()+parseInt($(this).css("paddingLeft"))*2+parseInt($(this).css("marginLeft"))*2; var wrapWidth = $(this).parent().width(); var col = Math.floor(wrapWidth/boxwidth); var wrappadding = (wrapWidth % boxwidth) /2; var row = Math.floor($(this).length/col) == $(this).length/col?$(this).length/col:(Math.floor($(this).length/col)+1); var colhigharry = []; var colpos; var leftpos; var toppos; for(var len = 0;len < col;len++) { colhigharry.push(0); }; $(this).each(function(index){ var pos = index; var col1height = 0; var col2height = 0; var col3height = 0; var col4height = 0; if(pos<col) { leftpos = boxwidth*pos + wrappadding + "px"; $(this).css({"top":"0","left":leftpos}); colhigharry[index] = $(this).height()+parseInt($(this).css("marginTop"))*2+parseInt($(this).css("paddingTop"))+parseInt($(this).css("paddingBottom")); } else { colpos = findLowestIndex(colhigharry); leftpos = boxwidth*colpos + wrappadding +"px"; toppos = colhigharry[colpos]+"px"; $(this).css({"top":toppos,"left":leftpos}); colhigharry[colpos] = colhigharry[colpos] + $(this).height()+parseInt($(this).css("marginTop"))*2+parseInt($(this).css("paddingTop"))+parseInt($(this).css("paddingBottom")); } }); var wraphighindex = findBigestIndex(colhigharry); var wraphigh = colhigharry[wraphighindex]+"px"; $(this).parent().height(wraphigh); var selector = $(this).selector; window.onresize = function(){$(selector).setwaterfall();}; } })(jQuery) </script> <script> $(document).ready(function(){
ul {position:relative;font-size:12px;width:900px}
p {margin:10px 10px}
p a {text-decoration:none;color:#0088cc}
p a:hover {text-decoration:underline;}
ul li {width:200px;border-radius:5px;list-style:none;position:absolute;margin:10px;height:150px;}
li.a {height:auto}
.hide {opacity:0;filter:alpha(opacity=0)}
img{width:200px}
</style> <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script id="setwaterfall">
(function ($) {
$.fn.setwaterfall = function (options) {
function findLowestIndex(Arr)
{
var index = 0;
var i;
for (i in Arr)
{
if(Arr[i]<Arr[index])
{
index = i;
}
}
return index;
}; function findBigestIndex(Arr)
{
var index = 0;
var i;
for (i in Arr)
{
if(Arr[i]>Arr[index])
{
index = i;
}
}
return index;
}; var boxwidth = $(this).width()+parseInt($(this).css("paddingLeft"))*2+parseInt($(this).css("marginLeft"))*2;
var wrapWidth = $(this).parent().width();
var col = Math.floor(wrapWidth/boxwidth);
var wrappadding = (wrapWidth % boxwidth) /2;
var row = Math.floor($(this).length/col) == $(this).length/col?$(this).length/col:(Math.floor($(this).length/col)+1);
var colhigharry = [];
var colpos;
var leftpos;
var toppos;
for(var len = 0;len < col;len++)
{
colhigharry.push(0);
};
$(this).each(function(index){
var pos = index;
var col1height = 0;
var col2height = 0;
var col3height = 0;
var col4height = 0;
if(pos<col)
{
leftpos = boxwidth*pos + wrappadding + "px";
$(this).css({"top":"0","left":leftpos});
colhigharry[index] = $(this).height()+parseInt($(this).css("marginTop"))*2+parseInt($(this).css("paddingTop"))+parseInt($(this).css("paddingBottom"));
}
else
{
colpos = findLowestIndex(colhigharry);
leftpos = boxwidth*colpos + wrappadding +"px";
toppos = colhigharry[colpos]+"px";
$(this).css({"top":toppos,"left":leftpos});
colhigharry[colpos] = colhigharry[colpos] + $(this).height()+parseInt($(this).css("marginTop"))*2+parseInt($(this).css("paddingTop"))+parseInt($(this).css("paddingBottom"));
}
});
var wraphighindex = findBigestIndex(colhigharry);
var wraphigh = colhigharry[wraphighindex]+"px";
$(this).parent().height(wraphigh);
var selector = $(this).selector;
window.onresize = function(){$(selector).setwaterfall();};
}
})(jQuery)
</script> <script>
$(document).ready(function(){
var obj = [];
obj[0]=["<li class=\"b red hide\"></li>"];
obj[1]=["<li class=\"e yellow hide\"></li>"];
obj[2]=["<li class=\"h blue hide\"></li>"];
obj[3]=["<li class=\"i green hide\"></li>"];
obj[4]=["<li class=\"j eee hide\"></li>"];
obj[5]=["<li class=\"k ccc hide\"></li>"];
$("ul li").setwaterfall();
$(window).scroll(function () {
var clienth = document.documentElement.clientHeight;
var scrollh = document.documentElement.scrollHeight;
var scrollt = document.documentElement.scrollTop + document.body.scrollTop;
if (clienth + scrollt + 200 > scrollh) {
var html = obj.join("");
$("ul").append(html);
$(".hide").animate({opacity:1},1000);
$("ul li").setwaterfall();
}
}); }); </script>
<ul>
<li id="a" class="a">
<asp:DataList ID="DataList1" runat="server" RepeatColumns="4" RepeatDirection="Horizontal">
<ItemTemplate>
<table style="border-top: solid 1px #333333; border-left: solid 1px #333333; border-right: solid 1px #333333;
border-bottom: solid 1px #333333;">
<tr>
<td valign="top">
<img src='images/<%# Eval("product_img") %>'
alt="" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</li>
</ul>
帮忙看看,为什么这段代码就是出不来瀑布流那种效果?