<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>帶有預(yù)加載的瀑布流</title>
//css樣式隨心情寫寫就好啦
<style>
*{
margin: 0;
padding: 0;
box-sizing:border-box;
list-style: none;
}
body{
padding-top: 0.1px;
background: #1E6262;
}
#thead{
width: 100%;
height: 50px;
line-height: 50px;
background: #fff;
text-align: center;
position: fixed;
z-index: 1;
box-shadow: 1px 1px 5px #000;
}
#fbody{
width: 1000px;
margin:0 auto;
margin-top:50px;
}
#fbody ul{
width:220px;
margin:10px 15px;
float: left;
overflow: hidden;
}
@keyframes mmmm{
0%{transform:rotateZ(0deg)}
100%{transform:rotateZ(360deg)}
}
</style>
//開始寫js代碼啦
<script>
window.onload = function(){
//獲取到當前界面中的所有ul
var uls = document.querySelectorAll('ul');
//執(zhí)行創(chuàng)建li的函數(shù);
createLi();
//當瀏覽器滾動條滾動時觸發(fā)事件...
window.onscroll = function(){
//獲取瀏覽器窗口兼容寫法(你也可以不寫)
var dody = document.documentElement || document.body;
//獲取瀏覽器高度和可視化高度 ,他們的差值就是瀏覽器滾過手起來的高度
var max = dody.offsetHeight-dody.clientHeight;
//獲取瀏覽器滑塊滾過的高度
var height = document.documentElement.scrollTop || document.body.scrollTop;
//判斷瀏覽器卷起來的高度和滑塊滾過的高度
if(height >= max){
//相同就在執(zhí)行一遍創(chuàng)建li函數(shù);
createLi();
}
}
//這里就是創(chuàng)建li的函數(shù)啦
function createLi(){
//讓它創(chuàng)建20遍(當然你也可以隨便弄啦);
for (var i = 0; i < 20; i++) {
//創(chuàng)建li標簽
var li = document.createElement('li');
//給li動態(tài)加樣式--------------
li.style.width = "100%";
li.style.height = randomFn(300,500)+"px";
li.style.textAlign = 'center';
li.style.marginTop = "15px";
li.style.borderRadius = '50px';
li.style.border = "6px solid #fff"
li.style.overflow = "hidden";
li.style.boxShadow = "1px 4px 4px #000";
li.style.background = "#fff";
//給li動態(tài)加樣式--------------
//調(diào)用添加圖片函數(shù)
creataImg(li,"https://unsplash.it/220/"+parseInt(li.style.height)+"?random");
//判斷哪個ul的高度最矮用到的臨時變量
var ulHeigh = uls[0];
//遍歷ul
for (var j = 0; j < uls.length; j++) {
//來判斷哪個ul的高度最矮
if(ulHeigh.offsetHeight>uls[j].offsetHeight){
//誰最矮ulHeight就等于誰;
ulHeigh = uls[j];
}
}
//然后把li放到最矮的ul中
ulHeigh.appendChild(li);
}
}
}
//創(chuàng)建圖片函數(shù)(里面有兩個形參分辨是,要添加的位置,和要添加的圖片地址畢竟不一樣的圖看著好看);
function creataImg(li,src){
//創(chuàng)建一個圖片
var img = document.createElement("img");
//給圖片添加一個加載時的臨時圖片
img.src = "http://www.easyicon.net/api/resizeApi.php?id=1189601&size=48";
//添加載圖片添加動畫-----------------(小圓圈轉(zhuǎn))
img.style.animationName = "mmmm";
img.style.animationDuration = "5s";
img.style.animationIterationCount = "infinite";
//添加載圖片添加動畫-----------------
//把圖片放進要添加的li中
li.appendChild(img);
//在創(chuàng)建一個用來加載圖片的變量
var imgNode = new Image();
//監(jiān)聽圖片是否加載完成
imgNode.onload = function(){
//加載完成后把動畫清除掉
img.style.animationName = "";
//加載完后把上邊的臨時圖片更換;
img.src = this.src;
}
//添加準備加載的圖片
imgNode.src = src;
}
//創(chuàng)建一個隨機函數(shù)(為了上邊的圖片高度不同);
function randomFn(min,max){
return Math.floor(Math.random()*(max-min)+min);
}
</script>
</head>
<body>
<div id="thead">
<h1>帶有預(yù)加載的瀑布流</h1>
</div>
<div id="fbody">
<ul></ul>
<ul></ul>
<ul></ul>
<ul></ul>
</div>
</body>
</html>
帶有預(yù)加載的瀑布流
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門触创,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人为牍,你說我怎么就攤上這事哼绑⊙意桑” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵抖韩,是天一觀的道長蛀恩。 經(jīng)常有香客問我,道長茂浮,這世上最難降的妖魔是什么双谆? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮席揽,結(jié)果婚禮上顽馋,老公的妹妹穿的比我還像新娘。我一直安慰自己幌羞,他們只是感情好寸谜,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著属桦,像睡著了一般熊痴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上聂宾,一...
- 文/蒼蘭香墨 我猛地睜開眼许赃,長吁一口氣:“原來是場噩夢啊……” “哼止喷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起混聊,我...
- 正文 年R本政府宣布睡毒,位于F島的核電站,受9級特大地震影響冗栗,放射性物質(zhì)發(fā)生泄漏演顾。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一隅居、第九天 我趴在偏房一處隱蔽的房頂上張望偶房。 院中可真熱鬧,春花似錦军浆、人聲如沸棕洋。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽掰盘。三九已至,卻和暖如春赞季,著一層夾襖步出監(jiān)牢的瞬間愧捕,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 所謂瀑布流禾进,就是圖片分幾列有規(guī)律的排列,但是這里的排列是有要求的廉涕,普通的浮動布局會使圖片與圖片之間有很多的空隙泻云,這...
- 先聲明一個數(shù)組,再創(chuàng)建img狐蜕,再放進數(shù)組里宠纯,不讓它被回收,當設(shè)置src時层释,就會發(fā)出請求婆瓜,下載圖片的路徑,把所有的圖...
- 圖片預(yù)加載 圖片預(yù)加載是為了解決網(wǎng)絡(luò)卡等一些其他情況造成該顯示的圖片不能及時的顯示碍讨,但為了提高網(wǎng)頁的完整性,給未能...
- 人生在世辦事全憑一張嘴弄息, 話不投機半句多, 我就應(yīng)該少說多做勤婚,少說多看摹量,少說多聽,總結(jié)起來就是少說為妙馒胆,少說...