欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue滾動(dòng)頁面到指定位置的實(shí)現(xiàn)及避坑

 更新時(shí)間:2022年09月01日 15:04:31   作者:KWMax  
這篇文章主要介紹了Vue滾動(dòng)頁面到指定位置的實(shí)現(xiàn)及避坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Vue滾動(dòng)頁面到指定位置

在Vue中,有三種方式可以實(shí)現(xiàn)H5頁面滑動(dòng)至指定位置

方法1

//先獲取目標(biāo)位置距離
mounted() {
? this.$nextTick(() => {
? ? ?setTimeout(() => {
? ? ? ? let targetbox= document.getElementById('targetbox');
? ? ? ? this.target= targetbox.offsetTop; ? ? ? ?
? ?})
? })
}
//再滑動(dòng)指定距離
document.body.scrollTop = this.target;

方法2

this.$nextTick(() => {
? ? ?this.$refs.DOM.scrollTo(0,200);
})

方法3

document.getElementById("target").scrollIntoView();

避坑指南

方法1,滑動(dòng)至的元素不能是display:none,存在兼容問題,親測(cè)在部分ios機(jī)子上document.body.scrollTop滑動(dòng)無效。

方法2,未親測(cè)過,但在this.$nextTick(()里執(zhí)行滑動(dòng),感覺有點(diǎn)麻煩。

方法3,親測(cè)可用,ios和android都可。只是要注意,如果頁面有監(jiān)聽scroll事件,scrollIntoView也會(huì)觸發(fā)scroll事件的。

滾動(dòng)頁面到一定距離后固定

1.id名為testNavBar的盒子與:class=’{ fixedNavbar: isfixTab }'的盒子可以是包含關(guān)系也可以是并列關(guān)系

?<div id='testNavBar'></div>
? ? ? <div class="container " ?:class='{ fixedNavbar: isfixTab ?}'>
? ?</div>

或者

<div id='testNavBar'>
?? ?<div :class='{ fixedNavbar: isfixTab }'>這是導(dǎo)航</div>
</div>

2.fixedNavbar是類名

.fixedNavbar {
? ? ? background-color: #f3f3f3;
? ? ? position: fixed;
? ? ? width: 100%;
? ? ? z-index: 2032;
? ? ? top: 0;
? ? ? left: 0;
? ? ? padding-bottom: 10px;
? ? }

3.isfixTab 是控制是否加類名

?data() {
? ? return {
? ? ? isnavshow: false,
? ? ? cateList:[],
? ? ? cateInfo:[],
? ? ? config_list:{},
? ? ? isfixTab:false
? ? }
? },

4.在mounted中監(jiān)聽頁面滾動(dòng)事件,并調(diào)用handleTabFix() 方法

? // 監(jiān)聽頁面滾動(dòng)
? ? mounted () {
? ? ? ? window.addEventListener('scroll', this.handleTabFix, true)
? ? },
? ? //離開當(dāng)前組件前一定要清除滾動(dòng)監(jiān)聽,否則進(jìn)入其他路由會(huì)報(bào)錯(cuò)
? ? beforeRouteLeave (to, from, next) {
? ? ? window.removeEventListener('scroll', this.handleTabFix, true)
? ? ? next()
? ? },

5.聲明一個(gè)方法handleTabFix()

?// 先分別獲得id為testNavBar的元素距離頂部的距離和頁面滾動(dòng)的距離
?? ? ? ?// 比較他們的大小來確定是否添加fixedNavbar樣式
? ? handleTabFix() {
? ? ? var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
? ? ? var offsetTop = document.querySelector('#testNavBar').offsetTop
? ? ? scrollTop > offsetTop ? this.isfixTab = true : this.isfixTab = false
? ? }

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue 使用rules對(duì)表單字段進(jìn)行校驗(yàn)的步驟

    vue 使用rules對(duì)表單字段進(jìn)行校驗(yàn)的步驟

    這篇文章主要介紹了vue 使用rules對(duì)表單字段進(jìn)行校驗(yàn)的步驟,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-12-12
  • vue深入解析之render function code詳解

    vue深入解析之render function code詳解

    vue對(duì)大家來說應(yīng)該再熟悉不過了,下面這篇文章主要給大家深入的解析了vue之render function code的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • vue cli實(shí)現(xiàn)項(xiàng)目登陸頁面流程詳解

    vue cli實(shí)現(xiàn)項(xiàng)目登陸頁面流程詳解

    CLI是一個(gè)全局安裝的npm包,提供了終端里的vue命令。它可以通過vue create快速搭建一個(gè)新項(xiàng)目,或者直接通過vue serve構(gòu)建新想法的原型。你也可以通過vue ui通過一套圖形化界面管理你的所有項(xiàng)目
    2022-10-10
  • 使用idea創(chuàng)建第一個(gè)Vue項(xiàng)目

    使用idea創(chuàng)建第一個(gè)Vue項(xiàng)目

    最近在學(xué)習(xí)vue,本文主要介紹了使用idea創(chuàng)建第一個(gè)Vue項(xiàng)目,文中根據(jù)圖文介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue中如何去掉空格的方法實(shí)現(xiàn)

    vue中如何去掉空格的方法實(shí)現(xiàn)

    這篇文章主要介紹了vue中如何去掉空格的方法實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • 詳解如何在vue中封裝axios請(qǐng)求并集中管理

    詳解如何在vue中封裝axios請(qǐng)求并集中管理

    這篇文章主要為大家詳細(xì)介紹了如何在vue中封裝axios請(qǐng)求并集中管理,w文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,有需要的小伙伴可以了解下
    2023-10-10
  • 深入了解Vue.js中的Vuex狀態(tài)管理模式

    深入了解Vue.js中的Vuex狀態(tài)管理模式

    Vuex是Vue.js的官方狀態(tài)管理模式,它為Vue.js應(yīng)用程序提供了一個(gè)集中式的狀態(tài)管理解決方案,Vuex可以幫助我們管理應(yīng)用程序中所有組件的狀態(tài),使得狀態(tài)管理變得更加簡(jiǎn)單和可靠,需要詳細(xì)了解可以參考下文
    2023-05-05
  • vue2.x引入threejs的實(shí)例代碼

    vue2.x引入threejs的實(shí)例代碼

    這篇文章主要介紹了vue2.x引入threejs,如果在開發(fā)過程中出現(xiàn)threejs生成的canvas出現(xiàn)外邊框,只需要用css樣式修改,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Vue如何實(shí)現(xiàn)變量表達(dá)式選擇器

    Vue如何實(shí)現(xiàn)變量表達(dá)式選擇器

    這篇文章主要介紹了Vue如何實(shí)現(xiàn)變量表達(dá)式選擇器,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-02-02
  • vue?動(dòng)態(tài)style?拼接寬度問題

    vue?動(dòng)態(tài)style?拼接寬度問題

    這篇文章主要介紹了vue?動(dòng)態(tài)style?拼接寬度問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評(píng)論