第七周第四天筆記之花瓣網(wǎng)實(shí)例

花瓣網(wǎng)實(shí)例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>花瓣網(wǎng)實(shí)例</title>
    <style>
        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }
        div{
            width: 1250px;
            margin: 10px auto;
            overflow: hidden;
        }
        div ul{
            width: 230px;
            margin: 10px;
            float: left;
        }
        div ul li{
            background-color: darkgrey;
            margin-bottom: 10px;
        }
        div ul li img{
            width: 100%;
        }
        a{
            position: fixed;
            right: 20px;
            bottom: 25px;
            width: 80px;
            height: 80px;
            font-size: 20px;
            line-height: 80px;
            border-radius: 50%;
            text-align: center;
            background-color: orangered;
            text-decoration: none;
            display: none;
        }
    </style>
</head>
<body>
<div id="wrap">
    <ul>
        <!--<li><img src="" alt=""></li>-->
    </ul>
    <ul></ul>
    <ul></ul>
    <ul></ul>
    <ul></ul>
</div>
<a href="javascript:void(0);">toTop</a>
<script src="js庫(kù)/utils.js"></script>
<script>
    var oWrap=document.getElementById("wrap");
    var aUl=utils.getChildren(oWrap);
    var aImg=oWrap.getElementsByTagName("img");
    var aBtn=document.getElementsByTagName("a")[0];
    var data=null;
    var scrollBom=null;
    var timer=null;
    var bOk=false;
    //1 獲取數(shù)據(jù)
    getData();
    function getData() {
        var xml=new XMLHttpRequest();
        xml.open("GET","text1/data111.txt");
        xml.send(null);
        xml.onreadystatechange=function(){
            if(xml.readyState==4 && /^2\d{2}/.test(xml.status)){
                data=utils.jsonParse(xml.responseText);
                Li50();
            }
        }
    }
    //2 創(chuàng)建li元素
    function createLi() {
        var oLi=document.createElement("li");
        oLi.innerHTML='<img src="" realImg="'+data[utils.rnd(0,9)].imgSrc+'" alt="">';
        utils.setCss(oLi,"height",utils.rnd(80,200));
        return oLi;
    }
    //3 創(chuàng)建50個(gè)
    function Li50() {
        for(var i=0; i<50; i++){
            var ary=utils.makeArray(aUl);
            ary.sort(function (a,b) {
                return a.offsetHeight-b.offsetHeight;
            });
            ary[0].appendChild(createLi());
        }
        showImage();
    }
    function showImage() {
        for(var i=0; i<aImg.length; i++){
            scrollBom=utils.win("scrollTop")+utils.win("clientHeight");
            var imgTop=utils.offset(aImg[i]).Top;
            if(imgTop<scrollBom){
                lazyLoad(aImg[i]);
            }
        }
    }
    function lazyLoad(img) {
        if(img.loaded) return;
        var frgImg=new Image();
        frgImg.src=img.getAttribute("realImg");
        frgImg.onload=function () {
            img.src=this.src;
            utils.setCss(img.parentNode,"height",img.offsetHeight);
            img.loaded=true;
            frgImg=null;
        };
        frgImg.onerror=function () {
            img.style.backgroundColor="red";
            img.loaded=true;
            frgImg=null;
        }
    }
    //滾輪事件
    window.onscroll=onscroll0;
    function onscroll0() {
        if(scrollBom+300 > document.body.scrollHeight){
            Li50();
        }
        showImage();
        aa();
    }
    //函數(shù)中不填加aa()函數(shù)挖诸,此時(shí)就不會(huì)觸發(fā)按鈕顯現(xiàn)
    function onscroll1() {
        if(bOk){
            clearInterval(timer);
            aa();//在停止定時(shí)器后,判斷此時(shí)是否要顯示按鈕;
        }
        bOk=true;
        if(scrollBom+300 > document.body.scrollHeight){
            Li50();
        }
        showImage();
    }
    //當(dāng)卷去的距離大于一屏?xí)r驹止,按鈕顯現(xiàn),當(dāng)小于一屏?xí)r按鈕消失
    function aa(){
        if(utils.win("scrollTop") > utils.win("clientHeight")){
            aBtn.style.display="block";
        }else{
            aBtn.style.display="none";
        }
    }
    //回到頂部事件
    aBtn.onclick=function () {
        this.style.display="none";
        window.onscroll=onscroll1;//重點(diǎn)1
        var v=5;
        var f=30;
        var step=f*v;
        var scrollTop=utils.win("scrollTop");
        timer=setInterval(function () {
            scrollTop-=step;
            if(scrollTop<=0){
                utils.win("scrollTop",0);
                clearInterval(timer);
                window.onscroll=onscroll0;//重點(diǎn)2
                return;
            }
            //設(shè)置
            utils.win("scrollTop",scrollTop);
            bOk=false;
        },f)
    }
</script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子杂靶,更是在濱河造成了極大的恐慌,老刑警劉巖酱鸭,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吗垮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡凹髓,警方通過(guò)查閱死者的電腦和手機(jī)烁登,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蔚舀,“玉大人饵沧,你說(shuō)我怎么就攤上這事蚀之。” “怎么了捷泞?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)寿谴。 經(jīng)常有香客問我锁右,道長(zhǎng),這世上最難降的妖魔是什么讶泰? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任咏瑟,我火速辦了婚禮,結(jié)果婚禮上痪署,老公的妹妹穿的比我還像新娘码泞。我一直安慰自己,他們只是感情好狼犯,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布余寥。 她就那樣靜靜地躺著,像睡著了一般悯森。 火紅的嫁衣襯著肌膚如雪宋舷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天瓢姻,我揣著相機(jī)與錄音祝蝠,去河邊找鬼。 笑死幻碱,一個(gè)胖子當(dāng)著我的面吹牛绎狭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播褥傍,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼儡嘶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了摔桦?” 一聲冷哼從身側(cè)響起社付,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎邻耕,沒想到半個(gè)月后鸥咖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兄世,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年啼辣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片御滩。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鸥拧,死狀恐怖党远,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情富弦,我是刑警寧澤沟娱,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站腕柜,受9級(jí)特大地震影響济似,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盏缤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一砰蠢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧唉铜,春花似錦台舱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至幻枉,卻和暖如春碰声,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熬甫。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工胰挑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人椿肩。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓瞻颂,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親郑象。 傳聞我的和親對(duì)象是個(gè)殘疾皇子贡这,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 愛上花瓣,從網(wǎng)頁(yè)到APP厂榛,在感受花瓣不斷優(yōu)化迭代的過(guò)程中我也大學(xué)畢業(yè)了盖矫,將我的第一份產(chǎn)品分析獻(xiàn)給陪伴我?guī)啄陼r(shí)光的花...
    菜菜魚o閱讀 18,278評(píng)論 2 34
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 6,450評(píng)論 0 17
  • 首先孩子成才需要天分吧击奶!在我人生的前三十年辈双,我個(gè)人覺得成才的確需要那么點(diǎn)天分,因?yàn)槲沂冀K認(rèn)為老天派你來(lái)這個(gè)世界柜砾,總...
    滋心潤(rùn)霖閱讀 131評(píng)論 0 0
  • 人與人之間都應(yīng)該保持一定的距離湃望,遠(yuǎn)遠(yuǎn)近近自己定,原則是讓自己愉快別人輕松。 親人之間证芭,距離是尊重瞳浦;愛人之間,距離是...
    氳氤少女_閱讀 234評(píng)論 0 1
  • 開發(fā)之前肯定是要安裝nodejs的, 這個(gè)根據(jù)你的電腦系統(tǒng)去官網(wǎng)下載安裝即可 https://nodejs.org...
    rosekissyou閱讀 1,316評(píng)論 0 0