国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue實現滑動到底部加載更多效果

2024-05-06 15:35:50
字體:
來源:轉載
供稿:網友

本文實例為大家分享了vue實現滑動到底部加載更多的具體代碼,供大家參考,具體內容如下

思路:

如果可視區的高度域dom元素的getBoundingClientRect().bottom高度相同說明已經到了底部,可以實現加載了

template:

<template> <div class="content">  <div class="logo">   <div>    <img v-if="server[0].thUintroduceLogo" :src="setIp + server[0].thUintroduceLogo" alt="">    <img v-if="!server[0].thUintroduceLogo" src="../../../assets/images/shooping/u538.png" alt="">   </div>   <div>    <span>{{server[0].companyName}}</span>   </div>   <div @click="callCustomer()">    <img src="../../../assets/images/shooping/u37.png" alt=""> 致電客服   </div>  </div>  <div class="info">   <div class="swipe">    <mt-swipe ref="swipe" :auto="0" :showIndicators="false" @change="swipeChange">     <mt-swipe-item v-for="(item,index) in server[0].thUintroduceImg.split(',')" :key="index">      <div class="jcc">       <img :src="setIp + item" alt="">      </div>     </mt-swipe-item>    </mt-swipe>    <span class="index">{{activeIndex}}/{{server[0].thUintroduceImg.split(',').length}}</span>   </div>   <div class="info1">    <p>{{server[0].thUintroduceText}}</p>    <span @click="hidden()" v-if="show"> <i>......</i> 展開</span>   </div>  </div>  <div class="shopping">   <h4>    <img src="../../../assets/images/shooping/u19.png" alt="">    <span>全部商品</span>   </h4>   <img src="../../../assets/images/shooping/split.jpg" alt="">  </div>  <div>   <div ref="my_pull" class="listUl">    <div v-for="item in server" :key="item.pId" class="itemLIST" @click="pushInfo(item)">     <div>      <img :src="setIp + item.pImgeOne" alt="">     </div>     <div>      <h3>{{item.pTitle}}</h3>      <p>       <span>已售{{item.pSaleNums}}件</span>       <span v-if="!isMemberId">價格登錄可見</span>       <span v-if="isMemberId">¥{{item.uPrice}}</span>      </p>     </div>    </div>    <!-- <div v-for="item in 10" :key="item" style="height:100px">{{item}}</div> -->   </div>  </div>  <div v-if="isbottom == -1" class="isbottom">   <i class="iconfont icon-jiazai1"></i>   <span>加載中,請稍后</span>  </div>  <div v-if="isbottom == 1" class="isbottom">   <span>沒有更多數據了</span>  </div> </div></template>

script:

<script> import {  Swipe,  SwipeItem,  Popup } from 'mint-ui' export default {  data: () => ({   server: [],   page: 1,   clientHeight: 0,   el: {},   isbottom: 0,   show: true,   activeIndex: 1  }),  created() {   this.getServer()  },  beforeDestroy() {   let title = document.querySelector("#title")    title.style.background = "#6a7d8f";    let arr = document.querySelector(".is-left")    arr.style.color = "#fff"  },  computed: {   isMemberId() {    return this.$store.state.isMemberId   }  },  mounted() {   this.clientHeight = document.documentElement.clientHeight   this.$nextTick(() => {    let title = document.querySelector("#title")    title.style.background = "#fff";    let arr = document.querySelector(".is-left")    arr.style.color = "#333"    this.el = this.$refs.my_pull;    window.addEventListener('scroll', this.handleScroll)   })  },  methods: {   callCustomer() {    let msg = this.server[0].thServicePhone;    $App.callCustomer(msg);   },   swipeChange() {    this.activeIndex = this.$refs.swipe.index + 1   },   hidden() {    let el = document.querySelector(".info1")    el.style.height = "auto"    this.show = false   },   pushInfo(item) {    this.$store.dispatch("newshoppingInfo", item)    console.log(this.$store.state.shoppingInfo);    this.$router.push({     path: "/shooping/shoopingInfo",    })   },   handleScroll() {    let a = this.el.getBoundingClientRect().bottom;    a = Math.ceil(a);    if (a == this.clientHeight) {     this.isbottom = -1     this.page++      this.getServer()    }   },   // 獲取后臺數據   getServer() {    $App.showWebActivity();    this.$http.post(this.root + 'agriculture/xxxxxxxxx', {     key: this.zkey,     code: this.zcode,     page: this.page,     rows: 4,     townsid: sessionStorage.getItem("villageId"),     pUid: sessionStorage.getItem("shoppingUid")    }, {     emulateJSON: true    }).then((res) => {     $App.dismissWebActivity()     if (res.body.code == 100) {      if (this.page == 1) {       this.server = res.body.list.rows;      } else {       this.server = this.server.concat(res.body.list.rows)      }      if (res.body.list.rows.length >= 4) {       this.isLast = false      } else {       this.isLast = true;       this.isbottom = 1       window.removeEventListener('scroll', this.handleScroll)      }     } else {      $App.toastWebActivity(res.body.message)      console.log(res)     }    }, (err) => {     $App.dismissWebActivity()    })   },  }, }</script>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 胶州市| 兴化市| 土默特右旗| 丰顺县| 新疆| 溧水县| 漳平市| 洛浦县| 同心县| 巴彦淖尔市| 凉城县| 郴州市| 视频| 六枝特区| 景泰县| 眉山市| 嘉兴市| 山东| 含山县| 西安市| 隆林| 察隅县| 乌鲁木齐县| 开化县| 宁晋县| 澄城县| 宜川县| 郴州市| 邵阳市| 称多县| 永和县| 神木县| 将乐县| 呼伦贝尔市| 蚌埠市| 景泰县| 安岳县| 曲阳县| 平潭县| 谢通门县| 安康市|