vue實(shí)現(xiàn)頁(yè)面滾動(dòng)到底部刷新
本文實(shí)例為大家分享了vue實(shí)現(xiàn)頁(yè)面滾動(dòng)到底部刷新的具體代碼,供大家參考,具體內(nèi)容如下
h5頁(yè)面
<script> var app = new Vue({ el: '#app', data: { swiper: null, carousel: [], promotion: [], cates: [], //設(shè)置size初始為10 size:10, }, mounted: function () { //定義that用that.size獲取size的值 var that=this; getPromotion(); //秒表每秒請(qǐng)求一次 setInterval(function(){ //content是div類名 const el = document.querySelector('.content'); const offsetHeight = el.offsetHeight; el.onscroll = () => { const scrollTop = el.scrollTop; const scrollHeight = el.scrollHeight; if ((offsetHeight + scrollTop) - scrollHeight >= -1) { //每次滾動(dòng)到底部size+10 that.size+=10; } } $.ajax({ type: "post", url: "/news/search", data: {intro: 'best', page: 1, size: that.size}, dataType: 'json', success: function (data) { $.hideIndicator(); if (data.errCode === 1) { app.promotion = data.data.articleList; // console.log(222); } else { $.toast(data.errMsg); } } }); },10*60); // window.addEventListener('scroll', this.scrollBottom()); }, methods: { goDetail: function (id) { location.href = '/news/newsDetail/' + id; }, }, }); //第一次加載先獲取10條 function getPromotion() { $.ajax({ type: "post", url: "/news/search", data: {intro: 'best', page: 1, size: 10}, dataType: 'json', success: function (data) { $.hideIndicator(); if (data.errCode === 1) { app.promotion = data.data.articleList; // console.log(data); } else { $.toast(data.errMsg); } } }); $.showIndicator(); } </script>
后臺(tái)控制器
public function search() { $parm = array('act' => 'search'); if (!empty($_POST['catId'])) $parm['catId'] = $_POST['catId']; if (!empty($_POST['keyword'])) $parm['keyword'] = $_POST['keyword']; if (!empty($_POST['intro'])) $parm['intro'] = $_POST['intro']; if (!empty($_POST['order'])) $parm['order'] = $_POST['order']; if (!empty($_POST['sort'])) $parm['sort'] = $_POST['sort']; if (!empty($_POST['page'])) $parm['page'] =1; //獲取前臺(tái)傳過(guò)來(lái)的size值如果不為空就設(shè)置請(qǐng)求接口時(shí)多一個(gè)size參數(shù) if (!empty($_POST['size'])) $parm['size'] = $_POST['size']; //調(diào)用接口 $data = $this->http('service/article.php', $parm); echo json_encode($data); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue滾動(dòng)頁(yè)面到指定位置的實(shí)現(xiàn)及避坑
- vue如何監(jiān)聽(tīng)頁(yè)面的滾動(dòng)的開(kāi)始和結(jié)束
- vue監(jiān)聽(tīng)頁(yè)面滾動(dòng)到某個(gè)高度觸發(fā)事件流程
- vue添加錨點(diǎn),實(shí)現(xiàn)滾動(dòng)頁(yè)面時(shí)錨點(diǎn)添加相應(yīng)的class操作
- vue中實(shí)現(xiàn)點(diǎn)擊按鈕滾動(dòng)到頁(yè)面對(duì)應(yīng)位置的方法(使用c3平滑屬性實(shí)現(xiàn))
- vue中獲取滾動(dòng)table的可視頁(yè)面寬度調(diào)整表頭與列對(duì)齊(每列寬度不都相同)
- vue頁(yè)面設(shè)置滾動(dòng)失敗的完美解決方案(scrollTop一直為0)
相關(guān)文章
Vue實(shí)現(xiàn)下載文件而非瀏覽器直接打開(kāi)的方法
對(duì)于瀏覽器來(lái)說(shuō),文本、圖片等可以直接打開(kāi)的文件,不會(huì)進(jìn)行自動(dòng)下載,下面這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)下載文件而非瀏覽器直接打開(kāi)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05vue Element-ui表格實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)表格
這篇文章主要為大家詳細(xì)介紹了vue Element-ui表格實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)表格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06vue實(shí)現(xiàn)Input輸入框模糊查詢方法
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)Input輸入框模糊查詢方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10vue 需求 data中的數(shù)據(jù)之間的調(diào)用操作
這篇文章主要介紹了vue 需求 data中的數(shù)據(jù)之間的調(diào)用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08vue封裝一個(gè)右鍵菜單組件詳解(復(fù)制粘貼即可使用)
關(guān)于vue項(xiàng)目中會(huì)出現(xiàn)一些需求,就是右鍵菜單項(xiàng)的功能實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue封裝一個(gè)右鍵菜單組件(復(fù)制粘貼即可使用)的相關(guān)資料,需要的朋友可以參考下2022-12-12用vue2.0實(shí)現(xiàn)點(diǎn)擊選中active其他選項(xiàng)互斥的效果
這篇文章主要介紹了用vue2.0實(shí)現(xiàn)點(diǎn)擊選中active其他選項(xiàng)互斥的效果,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04vue結(jié)合leaflet實(shí)現(xiàn)熱力圖
本文主要介紹了vue實(shí)現(xiàn)熱力圖,結(jié)合leaflet.heat插件可以很容易的做出熱力圖,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06解決echarts圖表y軸數(shù)據(jù)間隔過(guò)大的問(wèn)題
這篇文章主要介紹了解決echarts圖表y軸數(shù)據(jù)間隔過(guò)大的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03