<div class="codetitle"> <span><a style="CURSOR: pointer" data="66439" class="copybut" id="copybut66439" onclick="doCopy('code66439')"><u>コードをコピー</u></a></span> コードは次のとおりです:</div> <div class="codebody" id="code66439"> <br><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <br><html xmlns="http://www.w3.org/1999/xhtml"> <br><head> <br><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <br><title>瀑布流布局代码</title> <br><script type="text/javascript" src="js/jquery.js"></script> <br><style type="text/css"> <br>body, div, img, h1, h2, h3, h4, h5, h6 { padding:0px; margin:0px; } <br>img { border:none; } <br>.wrapper { width:960px; margin:0 auto; } <br>#con1_1 { position:relative; } <br>#con1_1 .product_list { position:absolute; left:0px; top:0px; padding:10px; background:#eee; } <br>.product_list img { width:200px; display:block; } <br>.product_list h2 { padding:5px 0px; font-size:12px; text-align:center; color:#333; } <br></style> <br></head> <br><body> <br><div class="wrapper"> <br><h3>这是正文的标题部分</h3> <br><div id="con1_1"> <br><div class="product_list"> <a href="#"><img src="images/img1.jpg"></a> <br><h2>图片高度</h2> <br></div> <br><div class="product_list"> <a href="#"><img src="images/img2.jpg"></a> <br><h2>图片高度</h2> <br></div> <br><div class="product_list"> <a href="#"><img src="images/img3.jpg"></a> <br><h2>图片高度</h2> <br></div> <br><div class="product_list"> <a href="#"><img src="images/img4.jpg"></a> <br><h2>图片高度</h2> <br></div> <br><div class="product_list"> <a href="#"><img src="images/img5.jpg"></a> <br><h2>图片高度</h2> <br></div> <br><div class="product_list"> <a href="#"><img src="images/img6.jpg"></a> <br><h2>图片高度</h2> <br></div> <br><div class="product_list"> <a href="#"><img src="images/img7.jpg"></a> <br><h2>图片高度</h2> <br></div> <br><div class="product_list"> <a href="#"><img src="images/img8.jpg"></a> <br><h2>图片高度</h2> <br></div> <br></div> <br><h3>这行文字的位置首先要用js去计算下上面内容的高度了</h3> <br></div> <br></body> <br><script type="text/javascript"> <br>/* <br>原則: 1. すべての li の高さの値を配列 <br> 2. 最初の行の先頭はすべて 0 です <br>3. どの li が最小の高さ値を持つかを計算します <br>4. その li の下に次の li を配置します <br>*/ <br>var margin = 10; //間隔を設定します<br>var li=$(".product_list");//ブロック名<br>var li_W = li[0].offsetWidth margin;//ブロックの実際の幅を取得します<br>関数liuxiaofan(){ <br>var h=[];//配列記録ブロック高さ<br>var n = 960/li_W|0; <br>for(var i = 0;i li_H = li[i].offsetHeight;//各 li の高さを取得します <br>if(i < n) {///n は行内で最大の li なので、n 未満の場合、それは最初の 1 行です <br>max_H =Math.max.apply(null,h); <br>h[i]=li_H;//各 li を配列に入れます<br>li.eq(i) .css ("top",0);//最初の行の Li の一番上の値は 0 です <br>li.eq(i).css("left",i * li_W);// i 番目の li i*li の幅です<br>} <br>else{ <br>min_H =Math.min.apply(null,h);//配列内の最小値を取得します。ブロック内の最小の高さ値を持つ<br>minKey = getarraykey(h, min_H);//最小値に対応するポインタ<br>h[minKey] = li_H margin;//新しい値を追加した後に高さの値を更新しますheight<br>li.eq(i).css ("top",min_H margin);//最初に高さが最も小さい Li を取得し、次にその下に次の li を置きます<br>li.eq(i)。 css("left",minKey * li_W); //i 番目の li の左座標は i*li の幅です <br>} <br>$("h2").eq(i).text( "Height:" li_H); // ブロックの高さの値を追加します 対応するブロック H2 タイトルに書き込みます <br>} <br>max =Math.max.apply(null,h); <br>$("#con1_1") ).css("height",max); <br>} <br>/* for 操作を使用して、配列内の特定の値に対応する項目の数を返します (たとえば、最小の高さの数を計算します)配列内の値) */ <br>function getarraykey(s, v) { for(k in s) {if(s[k] == v) {return k;}}} <br>/*Onload は次のように指定する必要があります高さの値は画像が読み込まれるまで分からないため、ここで使用されます*/ <br> window.onload = function() {liuxiaofan();}; <br>window.onresize = function() {liuxiaofan(); }; <br><br><br>$(function(){ <br>$ (".product_list").hover(function(){ <br>$(this).css("背景色", "#ddd"); <br>},function() { <br>$(this ).css("background-color","#eee"); <br>}); 🎜></script><br></html></div>