用瀑布流的方式在網(wǎng)頁上插入圖片的簡單實現(xiàn)方法
更新時間:2016年09月23日 17:59:46 投稿:jingxian
下面小編就為大家?guī)硪黄闷俨剂鞯姆绞皆诰W(wǎng)頁上插入圖片的簡單實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
當我們的網(wǎng)頁需要插入很多圖片的時候,為了美觀,我們可以選擇用瀑布流的方法插入圖片
首先我們在body里面放入我們需要展示的圖片
<div id="box">
<div class="dinwei">
<div class="pic">
<img src="image/1.jpg">
</div>
</div>
<div class="dinwei">
<div class="pic">
<img src="image/2.jpg">
</div>
</div>
<div class="dinwei">
<div class="pic">
<img src="image/3.jpg">
</div>
</div>
<div class="dinwei">
<div class="pic">
<img src="image/4.jpg">
</div>
</div>
<div class="dinwei">
<div class="pic">
<img src="image/5.jpg">
</div>
</div>
<div class="dinwei">
<div class="pic">
<img src="image/6.jpg">
</div>
</div>
<div class="dinwei">
<div class="pic">
<img src="image/7.jpg">
</div>
</div>
<div class="dinwei">
<div class="pic">
<img src="image/8.jpg">
</div>
</div>
<div class="dinwei">
<div class="pic">
<img src="image/9.jpg">
</div>
</div>
</div>
然后設(shè)定樣式
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.dinwei{
float: left;
}
.pic{
padding: 5px;
border: 1px solid #000000;
}
img{
margin: 0;
padding: 10px;
width: 220px;
height: auto;
}
</style>
接下來就是把圖片用瀑布流的方式展現(xiàn)的JS
<script type="text/javascript">
window.onload=function(){
var dinwei=document.getElementsByClassName("dinwei");
var windwidth=document.documentElement.clientWidth||document.body.clientWidth;
var dinwidth=getStyle(dinwei[0],"width");
var num=Math.floor(windwidth/dinwidth);
//計算一行幾張圖片
//取出高度最小的列
var heightList=[];
for(var i=0;i<dinwei.length;i++){
if(i<num){
heightList[heightList.length]=getStyle(dinwei[i],"height");
}else{
var minHeight=getmin(heightList);
var amin=minHeight.value;
var index=minHeight.index;
var temp=dinwei[i];
temp.style.position="absolute";
temp.style.top=amin+"px";
temp.style.left=index*dinwidth+"px";
heightList[index]=amin+getStyle(temp,"height");
}
}
}
function getmin(arr){
var min=arr[0];[3,3,2,1,5,2]
for(var i=1;i<arr.length;i++){
if(arr[i]<min){
min=arr[i];
}
}
var index=0;
for(var j=0;j<arr.length;j++){
if(arr[j]==min){
index=j;
break;
}
}
return {value:min,index:index}
}
function getStyle(obj, attr) {
if (obj.currentStyle) {
return parseFloat(obj.currentStyle[attr]);
} else {
return parseFloat(window.getComputedStyle(obj)[attr]);
}
}
</script>
以上就是小編為大家?guī)淼挠闷俨剂鞯姆绞皆诰W(wǎng)頁上插入圖片的簡單實現(xiàn)方法的全部內(nèi)容了,希望對大家有所幫助,多多支持腳本之家~
相關(guān)文章
JavaScript實現(xiàn)LRU緩存的三種方式詳解
LRU全稱為Least?Recently?Used,即最近使用的。針對的是在有限的內(nèi)存空間內(nèi),只緩存最近使用的數(shù)據(jù)(即get和set的數(shù)據(jù))。本文介紹了JavaScript實現(xiàn)LRU緩存的三種方式,需要的可以參考一下2022-06-06
淺談javascript函數(shù)劫持[轉(zhuǎn)自xfocus]
javascript函數(shù)劫持,也就是老外提到的javascript hijacking技術(shù)。最早還是和劍心同學討論問題時偶然看到的一段代碼2008-02-02
List the Codec Files on a Computer
List the Codec Files on a Computer...2007-06-06

