亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

JS通過ajax + 多列布局 + 自動加載實現瀑布流效果

2024-09-01 08:34:00
字體:
來源:轉載
供稿:網友

Ajax

•說明:本文效果是無限加載的,意思就是你一直滾動就會一直加載圖片出現,通過鼠標滾動距離來判斷的,所以不是說的那種加載一次就停了的那種,那種demo下次我會再做一次

css部分用的是html5+css3的新屬性,圖片會自動添加到每行的最頂端上去,而不是用js去判斷。去除了一些js計算的麻煩。

css部分:

 * {      margin: 0;      padding: 0;      box-sizing: border-box;    }    body {      background: #352323 url(images/a.png);    }    img {      display: block;    }    section {      max-width: 95%;      margin: 0 auto;      overflow: hidden;      column-count: 5;      column-gap: 0;      column-fill: auto;    }    figure {      border: 2px solid pink;      margin: 0 5px 10px;      break-inside: avoid;      padding: 5px;    }    figure img {      width: 100%;    }    figcaption {      padding: 10px 0;      text-align: center;      font-weight: 900;      color: #a77869;    }

html部分:

通過js插入節點,因為后臺不知道多少張圖片

 <section>    <!-- <figure>      <img src="images/1.jpg"      <figcaption>往后余生,風雪是你</figcaption>    </figure> --></section>

js有兩個部分,一個是我封裝的ajax函數,和一些判斷函數

第一部分

window.onload = function() {    var section = document.getElementsByTagName('section')[0];    //運行ajax函數;    ajax('get', 'active.php', 'num=10', function(data) {      //解析json對象      let img_data = JSON.parse(data);      console.log(img_data);      //循環建多少圖片配多少標簽      for (let i = 0; i < img_data.length; i++) {        //建立figure標簽        let figure = document.createElement('figure');        //創建兩個子元素img和figcaption,并賦值        let img = document.createElement('img');        img.src = img_data[i];        let figcaption = document.createElement('figcaption');        figcaption.innerHTML = '往后余生,風雪是你';        //插節點        figure.appendChild(img);        figure.appendChild(figcaption);        section.appendChild(figure);      }    });    document.onscroll = function() {      var scrollTop = document.documentElement.scrollTop; //距離網頁高度      console.log(scrollTop);      // var ks = document.documentElement.clientHeight; //可是化窗口高度      var ks = window.innerHeight || document.documentElement.clientHeight; //可是化窗口高度/兼容方法      var ht = document.documentElement.offsetHeight; //html總高度      // console.log(ht);      if (scrollTop + 1 >= ht - ks) { //鼠標滾動的距離大于html總高度-窗口的距離(也就是html在可視窗口之下的總高度)時 觸發函數;        //執行函數        ajax('get', 'active.php', 'num=10', function(data) {          //解析json對象          let img_data = JSON.parse(data);          console.log(img_data);          //循環建多少圖片配多少標簽          for (let i = 0; i < img_data.length; i++) {            //建立figure標簽            let figure = document.createElement('figure');            //創建兩個子元素img和figcaption,并賦值            let img = document.createElement('img');            img.src = img_data[i];            let figcaption = document.createElement('figcaption');            figcaption.innerHTML = '往后余生,風雪是你';            //插節點            figure.appendChild(img);            figure.appendChild(figcaption);            section.appendChild(figure);          }        });      }    }  };

第二部分:

/** * ajax封裝 * @param {string} mehod請求數據方法 * @param {string} url 請求地址 * @param {string} data 請求參數 * @param {[functiong]} success [請求成功之后執行的函數0] * @return {[none]} none */function ajax(mehod, url, data, success) {  var xhr = null;  if (window.XMLHttpRequest) {    xhr = new XMLHttpRequest();  } else {    xhr = new ActiveXObject("Microsoft.xmlhttp")  }  //如果有參數get方法需要拼接字符串url+?+data  if (mehod === 'get' && data) {    url += '?' + data;  }  //open方法  xhr.open(mehod, url, true);  //send方法  if (mehod === 'get') {    xhr.send();  } else {    xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');    xhr(data);  }  xhr.onreadystatechange = function() {    if (xhr.readyState === 4 && xhr.status === 200) {      success && success(xhr.responseText);    }  }

php后臺數據

因為主要功能偏向前端,所以后端就通過本地文件載入的

<?php header("Content-type:text/html;charset=utf-8");$num = $_GET['num']; // api調用者傳遞的需要的圖片頁數 $img = file("img.txt");// var_dump($img);$array_url = array();for($i=0;$i<$num;$i++){  $url = array_rand($img);  array_push($array_url,$img[$url]);}$a = json_encode($array_url);echo $a;

JS,ajax,多列布局,自動加載,瀑布流

總結

以上所述是小編給大家介紹的JS通過ajax + 多列布局 + 自動加載來實現瀑布流效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区久久久| 精品视频在线播放| 久久久影视精品| 精品视频久久久久久| 亚洲视频网站在线观看| 九九久久精品一区| 精品久久久久久久久久久久| 亚洲第一区在线观看| 国产91精品黑色丝袜高跟鞋| 夜夜嗨av色一区二区不卡| 亚洲美女精品久久| 欧美日韩999| 色青青草原桃花久久综合| 一本一本久久a久久精品牛牛影视| 日韩电影在线观看永久视频免费网站| 日韩a**站在线观看| 日日狠狠久久偷偷四色综合免费| 亚洲欧洲在线播放| 日日骚久久av| 久久精品亚洲热| 久久久国产精品一区| 91美女福利视频高清| 欧美日韩一区二区免费在线观看| 97视频在线播放| 国内精品久久影院| 久久资源免费视频| 亚洲精品黄网在线观看| 久久久久久久久电影| 一区二区三区视频免费| 国产精品夜色7777狼人| 亚洲第一福利网| 国产999视频| 国产精品久久77777| 全色精品综合影院| 欧美伦理91i| 中文字幕视频一区二区在线有码| 黑人巨大精品欧美一区免费视频| 亚洲欧美三级伦理| 国产一区二区色| 久久夜色精品亚洲噜噜国产mv| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲人成电影网站色| 亚洲影视九九影院在线观看| 欧美精品免费看| 亚洲免费伊人电影在线观看av| 国产精品女人久久久久久| 91精品久久久久久久久久久久久久| 亚洲国产99精品国自产| 久久亚洲精品成人| 精品亚洲夜色av98在线观看| 亚洲综合在线小说| 欧美人交a欧美精品| 国产91精品久久久久久久| 精品成人av一区| 国产欧美精品一区二区| 国产精品成久久久久三级| 插插插亚洲综合网| 国产在线日韩在线| 国产精品第100页| 久久久久久久97| 日韩av免费一区| 欧美日本啪啪无遮挡网站| www.欧美免费| 久久伊人色综合| 一本色道久久88亚洲综合88| 久久亚洲精品国产亚洲老地址| 久久精品国产亚洲7777| 日本久久精品视频| 91视频国产一区| 国产精品高潮呻吟久久av无限| 国产精品欧美日韩久久| 欧美另类交人妖| 国产69精品久久久久9| 欧美在线视频观看免费网站| 91精品国产高清久久久久久久久| 日本久久久久久| 88国产精品欧美一区二区三区| 2020欧美日韩在线视频| 9.1国产丝袜在线观看| 欧美午夜丰满在线18影院| 欧美精品在线免费观看| 久久99久久99精品中文字幕| 一区二区三区亚洲| 黄色成人在线播放| 欧美精品videosex牲欧美| 日韩电影免费观看中文字幕| 色综合导航网站| 欧美午夜精品伦理| 国产女精品视频网站免费| 国产一区二区三区中文| 欧美日韩精品在线视频| 亚洲女人天堂av| 日韩精品视频在线观看网址| 亚洲欧美国产一本综合首页| 国产不卡av在线免费观看| 日韩亚洲欧美中文高清在线| 午夜精品久久久久久久久久久久| 国产精品福利观看| 欧美视频13p| 亚洲xxxx18| 久久91精品国产| xvideos亚洲人网站| 欧美日韩在线看| 欧美黄色性视频| 91色精品视频在线| 国产精品色午夜在线观看| 国产亚洲激情在线| 亚洲一区二区三区久久| 欧美壮男野外gaytube| 青青草国产精品一区二区| 久久777国产线看观看精品| 日韩大片免费观看视频播放| 欧美精品激情在线| 欧美精品一区在线播放| 欧美理论在线观看| 136fldh精品导航福利| 亚洲欧美激情一区| 欧美xxxx做受欧美| 成人黄色免费在线观看| 国产综合福利在线| 亚洲人高潮女人毛茸茸| 成人久久久久久| 亚洲黄页网在线观看| 亚洲欧洲国产伦综合| 欧美亚洲国产精品| 亚洲欧美在线看| 日韩精品在线看| 午夜精品99久久免费| 亚洲男人av在线| 久久在线免费视频| 国产精品久久久久久超碰| 亚洲精品视频免费在线观看| 亚洲日韩中文字幕在线播放| 亚洲乱码国产乱码精品精天堂| 欧美日韩国内自拍| 91精品视频一区| 亚洲精品天天看| 欧美激情一二三| 亚洲男子天堂网| 日韩av影视综合网| 日本欧美爱爱爱| 久久精品国产久精国产思思| xvideos国产精品| 久久久人成影片一区二区三区| 午夜精品久久久久久久99热浪潮| 欧美日韩999| 一级做a爰片久久毛片美女图片| 亚洲人av在线影院| 久久999免费视频| 亚洲自拍小视频免费观看| 日韩不卡在线观看| 91精品视频免费| 日韩成人黄色av| 国产精品户外野外| 精品美女永久免费视频| 亚洲第一福利在线观看| 91禁外国网站| 成人两性免费视频| 久久久久久久999精品视频| 日韩精品视频中文在线观看| 亚洲欧美视频在线| 亚洲一区二区三区乱码aⅴ| 欧美成人剧情片在线观看| 丰满岳妇乱一区二区三区|