導航:首頁 > 編程語言 > jsscroller插件

jsscroller插件

發布時間:2023-07-04 17:42:07

A. vue-scroller記錄滾動位置的示例代碼

問題描述:
列表頁進入詳情頁,或者tab頁切換,然後再返回列表頁,希望能切換到之前滾動位置
解決問題思路:
切換到其他頁面前記錄位置,返回列表頁的時候返回位置。這就需要藉助vue-router的beforeRouteEnter和beforeRouteLeave這兩個鉤子去實現.
還有一種更簡單粗暴的方法,
vue-scroller.min.js源碼中添加寬高不為零判斷,實現方式見評論,是最近代碼優化的時候發現的。
代碼部分:
beforeRouteEnter(to,from,next){
if(!sessionStorage.askPositon
||
from.path
==
'/'){//當前頁面刷新不需要切換位置
sessionStorage.askPositon
=
'';
next();
}else{
next(vm
=>
{
if(vm
&&
vm.$refs.scrollerBottom){//通過vm實例訪問this
setTimeout(function
()
{
vm.$refs.scrollerBottom.scrollTo(0,
sessionStorage.askPositon,
false);
},0)//同步轉非同步操作
}
})
}
},
beforeRouteLeave(to,from,next){//記錄離開時的位置
sessionStorage.askPositon
=
this.$refs.scrollerBottom
&&
this.$refs.scrollerBottom.getPosition()
&&
this.$refs.scrollerBottom.getPosition().top;
next()
},
需要注意的點:
1.熟悉vue-router和vue-scroller的api
2.beforeRouteEnter的時候,是無法通過this去訪問vue實例的,需要藉助於vm
3.setTimeout
0
的使用
等下周發版的時候,我貼上鏈接,可以體驗下效果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:詳解使用vue-router進行頁面切換時滾動條位置與滾動監聽事件解決Vue頁面固定滾動位置的處理辦法vue實現某元素吸頂或固定位置顯示(監聽滾動事件)

B. 如何在JavaScript里防止事件函數的高頻觸發和調用

throttle節流閥技術可以防止事件函數(例如滾輪滾動)的回調函數被頻繁調用。

節流閥函數的實現原理是:

節流函數每次執行時都會檢查上次執行的時間,通過指定wait參數,來保證只有距離上次執行超過一定時間,才會真正執行內部包裹的回調函數。由此來避免一種重量級的函數(如重繪或者dom操作)被頻繁調用而導致產生性能問題。

以underscore.js的實現為例

varscroller=document.getElementById('scroller_div');
//此時console.log最多每300毫秒列印一次,不管onscroll事件觸發得多麼頻繁,都不會超過這個頻率。
scroller.onscroll=_.throttle(function(){
console.log(scroller.scrollTop);
},300);

C. jquery mobiscroll插件怎樣阻止冒泡

這個不是冒泡,這個是android的默認瀏覽器webbiew的bug,穿透浮層點擊,只能在確定之前固定一個狀態,確定後取消,現在這個bug沒修復

D. 求上下浮動的圖片在指定的區域內隨瀏覽器上下滾動的js代碼

關鍵代碼:
main-left:左側參照DIV;
main-right:要浮動的;
div.top-box:頁面頂部的Fixed層;

$(document).ready(function(){
$(window).scroll(function(){
var
leftTop=$("#main-left").offset().top;
varrightTop=
$("#main-right").offset().top;
varscrollerTop=$(this).scrollTop()+
$("div.top-box").height();
if(scrollerTop>leftTop){
if
(scrollerTop+$("#main-right").height()<leftTop+
$("#main-left").height()){
if($("#main-right").css("position")!=
"fixed"){
$("#main-right").css({"position":"fixed",
"left":$("#main-right").offset().left+"px","top":$("div.top-box").height()+
"px"});
}
}else{
$("#main-right").css({"position":"fixed",
"left":$("#main-right").offset().left+"px","top":($("div.top-box").height()-
(scrollerTop+$("#main-right").height()-(leftTop+$("#main-left").height()))
)+"px"});
}
}else{
if($("#main-right").css("position")!=
"static"){
$("#main-right").css({"position":"static"});
}
}
});
});

閱讀全文

與jsscroller插件相關的資料

熱點內容
逍遙安卓微信驗證 瀏覽:579
5g網路什麼時候普及河北邢台 瀏覽:709
編程和運營哪個更適合創業 瀏覽:893
尤里x怎麼升級 瀏覽:399
做業務績效考核需要哪些數據 瀏覽:433
dnf85版本劍魔刷圖加點 瀏覽:407
手機硬碟測試架可以讀取哪些數據 瀏覽:704
ug前後處理結算結果找不到文件 瀏覽:769
網頁框架拆分代碼 瀏覽:382
未來十年網路安全有什麼影響 瀏覽:362
win10更新後進不了劍靈 瀏覽:243
iphone471激活出錯 瀏覽:648
怎麼把文件拷到u盤 瀏覽:620
中伊簽署文件視頻 瀏覽:661
電信光寬頻網路不穩定 瀏覽:504
網路崗軟路由 瀏覽:995
黑莓z10在哪裡下載app 瀏覽:310
net批量下載文件 瀏覽:696
怎麼把蘋果一體機文件拷貝 瀏覽:117
sql文件怎麼寫 瀏覽:9

友情鏈接