用瀑布流的方式在網(wǎng)頁上插入圖片的簡單實現(xiàn)方法
當(dāng)我們的網(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 如何生成不重復(fù)的隨機數(shù)
javascript 如何生成不重復(fù)的隨機數(shù)...2007-11-11
Javascript實現(xiàn)關(guān)閉廣告效果
這篇文章主要為大家詳細(xì)介紹了Javascript實現(xiàn)關(guān)閉廣告效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-01-01
兩種JavaScript的AES加密方式(可與Java相互加解密)
這篇文章主要介紹了兩種JavaScript的AES加密方式(可與Java相互加解密) 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08
把json格式的字符串轉(zhuǎn)換成javascript對象或數(shù)組的方法總結(jié)
下面小編就為大家?guī)硪黄裫son格式的字符串轉(zhuǎn)換成javascript對象或數(shù)組的方法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
小程序開發(fā)調(diào)用微信支付以及微信回調(diào)地址配置
本文主要介紹了小程序開發(fā)調(diào)用微信支付以及微信回調(diào)地址配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

