欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現(xiàn)圖片瀑布流效果

 更新時間:2021年09月17日 12:01:29   作者:fanfan_h  
這篇文章主要為大家詳細介紹了JS實現(xiàn)圖片瀑布流,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JS實現(xiàn)圖片瀑布流的具體代碼,供大家參考,具體內(nèi)容如下

過程:

1、創(chuàng)建一個放所有圖片的模塊bigblock。
2、獲取這個大模塊,追加一個子元素塊來放小圖。
3、封裝一個函數(shù)list(n)來存放50張圖片,并且將每張圖追加放入空數(shù)組ele[]中。
4、封裝一個函數(shù)set_position(),來確定每個圖片的位置,用到了offsetHeight,offsetTop,offsetWidth等屬性,同時給最大塊也設(shè)置動態(tài)的高度,隨著加載的圖片數(shù)量增多,最大塊的高度也隨著增高。
5、使用 window.onload事件,加載圖片更方便。
6、給瀏覽器的滾動條添加事件,讓滾動條滑到body的可視區(qū)域最底部以上10px 時,加載出新的30張圖片,并且每次滾動條停留在到剛加載的圖片位置。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>photo瀑布流</title>
    <style>
        *{
            margin:0;
            padding:0;
        }
        body{
           /* background: #ebebeb;*/
            background: url(./img/bging2.jpg );
            background-size:100% ;
            height:100%;
        }
        .bigblock {
            position: relative;
            width:650px;
            min-height: 200px;
            background: #fff;
            margin:auto;

        }
        .smallblock{
            position:absolute;
            width:100px;
            border-radius:5px ;
            box-shadow: 0 0 7px #89c8eb;
            box-sizing: border-box;
            overflow: hidden;
        }
        .photo{
            width:100%;
            vertical-align: middle;
        }
    </style>
</head>
<body>
<div class="bigblock">

</div>
<script>
    var Big=document.getElementsByClassName ("bigblock")[0];
    var ele=[];
    var num=6;
    var bghight=0;
    var start=0;
    var image_img=["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "9.jpg", "10.jpg","11.jpg","12.jpg","13.jpg","14.jpg","15.jpg","16.jpg","17.jpg"];
    for(var i=0;i<50;i++){
        list();

    }
  function  list(n){
      var small=document.createElement("div");
      var image=document.createElement("img");
      small.className="smallblock";
      image.className="photo";
      image.src="./img/"+image_img[parseInt(Math.random()* image_img.length)]; //0-12
      ele.push(small);
      Big.appendChild(small);
      small.appendChild (image);

  }
   function set_position(){
     for(var i=start;i<ele.length;i++){
       //設(shè)置每張圖片的位置
       var settop=i <num ? 0: ele[i-num].offsetHeight +10 + ele[i-num].offsetTop ;
       ele[i].style.top=settop+"px";
       var setleft = i %num * ele[i].offsetWidth + (i % num) * 10;
       ele[i].style.left=setleft+"px";
         //獲取背景的高度
       bghight =(ele[i].offsetHeight +ele[i].offsetTop)>bghight ? ele[i].offsetHeight +ele[i].offsetTop :bghight ;
       Big.style.height =bghight +"px";
     }
   }

   window.onload=function(){
       set_position();
       //添加瀏覽器的滾動條事件
       this.addEventListener ("scroll",function(){
          var b_height=document.body.clientHeight;
           if(parseInt (this.pageYOffset+ this.innerHeight ) > b_height-10 ){
              start =ele.length;
              for(i=0;i<30;i++){
                   list();
              }
               set_position ();
           }
          // console.log(b_height);  //body的可視高度,可變
          // console.log(this.pageYOffset);    //滾動條的上偏移量
          // console.log(this.innerHeight);   //瀏覽器可視區(qū)域的高
       })
   }
</script>
</body>
</html>

圖片不是動圖,看不出什么效果,但代碼都是正確的,小伙伴可以試一試。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 2016年最熱門的15 款代碼語法高亮工具,美化你的代碼

    2016年最熱門的15 款代碼語法高亮工具,美化你的代碼

    無論是代碼高亮還是語法高亮對整個程序來說都非常重要,可以給人眼前一亮的感覺,增加用戶體驗度,下面通過本文給大家介紹2016年最熱門的Javascript代碼高亮顯示腳本及代碼語法高亮工具,對js代碼高亮,代碼語法高亮相關(guān)知識感興趣的朋友一起學習吧
    2016-01-01
  • JS中多步驟多分步的StepJump組件實例詳解

    JS中多步驟多分步的StepJump組件實例詳解

    這篇文章主要介紹了JS中多步驟多分步的StepJump組件實例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • js中new一個對象的過程

    js中new一個對象的過程

    本文主要介紹了js中new一個對象的過程。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 模擬抽獎

    模擬抽獎

    模擬抽獎...
    2006-08-08
  • 頁面載入結(jié)束自動調(diào)用js函數(shù)示例

    頁面載入結(jié)束自動調(diào)用js函數(shù)示例

    當頁面加載完成后自動調(diào)用預先編好的js函數(shù),在某些特殊情況下還是比較實用的,具體實現(xiàn)如下,感興趣的朋友可以參考下
    2013-09-09
  • js簡單的點擊返回頂部效果實現(xiàn)方法

    js簡單的點擊返回頂部效果實現(xiàn)方法

    這篇文章主要介紹了js簡單的點擊返回頂部效果實現(xiàn)方法,實例分析了實現(xiàn)返回頂部效果的相關(guān)要點與實現(xiàn)技巧,需要的朋友可以參考下
    2015-04-04
  • Canvas 繪制粒子動畫背景

    Canvas 繪制粒子動畫背景

    本文主要分享了Canvas 繪制粒子動畫背景的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • javascript禁止超鏈接跳轉(zhuǎn)的方法

    javascript禁止超鏈接跳轉(zhuǎn)的方法

    這篇文章主要介紹了javascript禁止超鏈接跳轉(zhuǎn)的方法,結(jié)合實例分析了JavaScript事件機制與鼠標事件的響應(yīng)操作技巧,需要的朋友可以參考下
    2016-02-02
  • 使用typescript類型實現(xiàn)ThreeSum

    使用typescript類型實現(xiàn)ThreeSum

    這篇文章主要介紹了使用typescript類型實現(xiàn)ThreeSum,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以一下,希望對你學習又是幫助
    2022-08-08
  • JavaScript實現(xiàn)Date()日期格式化的3種常用方法

    JavaScript實現(xiàn)Date()日期格式化的3種常用方法

    Date()日期對象是一個構(gòu)造函數(shù),必須使用new來調(diào)用創(chuàng)建我們的日期對象,下面這篇文章主要給大家介紹了關(guān)于JavaScript實現(xiàn)Date()日期格式化的3種常用方法,需要的朋友可以參考下
    2024-05-05

最新評論