最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP結(jié)合Vue實現(xiàn)滾動底部加載效果

 更新時間:2017年12月17日 11:43:52   作者:生駒友梨奈  
這篇文章主要給大家介紹了關于PHP結(jié)合Vue如何實現(xiàn)滾動底部加載效果的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

前言

最近的一個項目手機端分頁跳轉(zhuǎn)不理想,自己做了一個滾動加載的一個Demo,下面話不多說了,來一起看看詳細的介紹吧。

實現(xiàn)思路

     1.獲得滾動條到底部的距離 getScrollBottomHeight()

     2.綁定滾動事件handleScroll() ,handleScroll()判斷滾動條到底部距離是否小于設置的bottomHight,并且增加一個loading屬性,防止加載時滑動時多次觸發(fā),造成多次加載

     3.Ajax請求load.php,通過Page去查詢獲得當前頁數(shù)(page+1)的內(nèi)容

     4.將獲取的內(nèi)容,push 到 list中,完成后Vue 自動渲染新的列表,loading變?yōu)閒alse

核心Dom結(jié)構

<body>
<div id="Content">
 <div>
  <ul>
   <li v-for="l in list">{{l.title}}</li>
   <li class="loading" v-if="loading">加載中</li>
  </ul>
 </div>
</div>
</body>

Javascript代碼

<script>
 var v = new Vue({
  el: "#Content",
  data: {
   list: [{title: "使用思維導圖,優(yōu)雅的完成自己的代碼"},
    {title: "左滑右滑的樂趣"},
    {title: "Spring Cloud(九)高可用的分布式配置中心 Spring Cloud Config 集成 Eureka 服務q"},
    {title: "【MYSQL】業(yè)務上碰到的SQL問題整理集合"},
    {title: "2018年,前端應該怎么學?"},
    {title: "前端 ajax 請求的優(yōu)雅方案"},
    {title: "SegmentFault 技術周刊 Vol.39 - 什么!服務器炸了?"},
    {title: "Rokid 開發(fā)板試用,開啟你的嵌入式開發(fā)之旅"},
    {title: "我腦中飄來飄去的css魔幻屬性"},
    {title: "用python解決mysql視圖導入導出依賴問題"},
    {title: "underscore 系列之防沖突與 Utility Functions"},
    {title: "基于手淘 flexible 的 Vue 組件:TextScroll -- 文字滾動"},
    {title: "基于‘BOSS直聘的招聘信息'分析企業(yè)到底需要什么樣的PHP程序員"},
    {title: "原生js系列之無限循環(huán)輪播組件"},
    {title: "一篇文章了解HTML文檔流(normal flow)"},
    {title: "面試官最愛的volatile關鍵字"},
    {title: "Spring Cloud(九)高可用的分布式配置中心 Spring Cloud Config 集成 Eureka 服務q"},
    {title: "【MYSQL】業(yè)務上碰到的SQL問題整理集合"},
    {title: "2018年,前端應該怎么學?"},
    {title: "前端 ajax 請求的優(yōu)雅方案"},
    {title: "SegmentFault 技術周刊 Vol.39 - 什么!服務器炸了?"},
    {title: "Rokid 開發(fā)板試用,開啟你的嵌入式開發(fā)之旅"},
    {title: "我腦中飄來飄去的css魔幻屬性"},
    {title: "用python解決mysql視圖導入導出依賴問題"},
    {title: "underscore 系列之防沖突與 Utility Functions"},
    {title: "基于手淘 flexible 的 Vue 組件:TextScroll -- 文字滾動"},
    {title: "基于‘BOSS直聘的招聘信息'分析企業(yè)到底需要什么樣的PHP程序員"},
    {title: "原生js系列之無限循環(huán)輪播組件"},
    {title: "一篇文章了解HTML文檔流(normal flow)"},
    {title: "面試官最愛的volatile關鍵字"},
    {title: "Rokid 開發(fā)板試用,開啟你的嵌入式開發(fā)之旅"}],
   page: 5,//總頁數(shù)
   nowPage: 1,//本頁
   loading: false,//一步加載時的限制
   bottomHight: 50,//滾動條到某個位置才觸發(fā)時間
  },
  methods: {
   handleScroll: function () {
    if (getScrollBottomHeight() <= v.bottomHight && v.nowPage < v.page && v.loading == false) {
     v.loading = true
     var url = "load.php"
     $.ajax({
      type: "GET",
      url: url,
      async: true,
      dataType: "json",
      success: function (data) {
       for (var i = 0; i < data.length; i++) {
        v.list.push(data[i])
       }
       v.nowPage++
       v.loading = false
      },
     })
    }
   }
  },

 })
 //添加滾動事件
 window.onload = function () {
  window.addEventListener('scroll', v.handleScroll)
 }
 //滾動條到底部的距離
 function getScrollBottomHeight() {
  return getPageHeight() - getScrollTop() - getWindowHeight();

 }
 //頁面高度
 function getPageHeight() {
  return document.querySelector("html").scrollHeight
 }
 //滾動條頂 高度
 function getScrollTop() {
  var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;
  if (document.body) {
   bodyScrollTop = document.body.scrollTop;
  }
  if (document.documentElement) {
   documentScrollTop = document.documentElement.scrollTop;
  }
  scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;
  return scrollTop;
 }
 function getWindowHeight() {
  var windowHeight = 0;
  if (document.compatMode == "CSS1Compat") {
   windowHeight = document.documentElement.clientHeight;
  } else {
   windowHeight = document.body.clientHeight;
  }
  return windowHeight;
 }
</script>

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

最新評論

手机| 上饶县| 昔阳县| 原平市| 保德县| 安西县| 泸州市| 抚顺县| 内乡县| 柳州市| 兴和县| 舒城县| 太仆寺旗| 烟台市| 廉江市| 九龙坡区| 桃园市| 塔城市| 扎囊县| 洪江市| 盱眙县| 潞城市| 德钦县| 万宁市| 白山市| 新田县| 嫩江县| 射洪县| 平阳县| 张家界市| 柏乡县| 乐平市| 遂溪县| 龙胜| 铁岭县| 开封市| 裕民县| 曲阳县| 偏关县| 永济市| 邢台市|