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

vue+element實(shí)現(xiàn)錨點(diǎn)鏈接方式

 更新時(shí)間:2024年07月24日 09:43:52   作者:Zh.冠軍  
這篇文章主要介紹了vue+element實(shí)現(xiàn)錨點(diǎn)鏈接方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue+element錨點(diǎn)鏈接

代碼塊

    <el-row id="userManagement">
      <h1  @click="jump('userManagement')">用戶(hù)管理</h1>
      <el-col :span="24">為了正常使用知產(chǎn)魔方,您需要在用戶(hù)管理模塊中,為代理所內(nèi)部用戶(hù)、外部用戶(hù)開(kāi)通知產(chǎn)魔方使用權(quán)限。</el-col>
    </el-row> 
export default {
	methods:{
        jump(domId){
            // 當(dāng)前窗口正中心位置到指定dom位置的距離 

            //頁(yè)面滾動(dòng)了的距離
            let height = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; 
            
            //指定dom到頁(yè)面頂端的距離
            let dom = document.getElementById(domId);
            let domHeight = dom.offsetTop;
            
            //滾動(dòng)距離計(jì)算
            var S = Number(height) - Number(domHeight);

            //判斷上滾還是下滾
            if(S<0){
                //下滾
                S = Math.abs(S);	//Math.abs返回一個(gè)數(shù)的絕對(duì)值		
                //window.scrollBy:把內(nèi)容滾動(dòng)到指定的像素?cái)?shù)
                window.scrollBy({ top: S, behavior: "smooth" });		
            }else if(S==0){
                //不滾
                window.scrollBy({ top: 0, behavior: "smooth" });
            }else{
                //上滾
                S = -S
                window.scrollBy({ top: S, behavior: "smooth" });
            }
        }
	},
	created() {}
}

效果圖

vue+element錨點(diǎn)跳轉(zhuǎn)+自動(dòng)感應(yīng)導(dǎo)航欄

最近來(lái)個(gè)需求,要做一個(gè)頁(yè)面,每個(gè)模塊都是百分百全屏且右側(cè)有個(gè)導(dǎo)航欄能自動(dòng)感應(yīng)在哪個(gè)模塊,點(diǎn)擊也能直接跳轉(zhuǎn)到該錨點(diǎn)。

其實(shí)難點(diǎn)也就那幾個(gè),慢慢捋一下就好,話(huà)不多說(shuō)上代碼!!

1、錨點(diǎn)跳轉(zhuǎn)且點(diǎn)擊哪個(gè)會(huì)模塊右側(cè)導(dǎo)航欄就會(huì)高亮

在這里插入圖片描述

我這個(gè)導(dǎo)航欄是因?yàn)槲磥?lái)增加模塊以免還要自己手動(dòng)加了就直接調(diào)接口循環(huán)了,如果是固定的直接寫(xiě)死也行,看見(jiàn)那個(gè):key=“key”了沒(méi),對(duì),你想的沒(méi)錯(cuò),跟那個(gè)沒(méi)關(guān)系,好了,不開(kāi)玩笑了,那個(gè)給他動(dòng)態(tài)賦予class的屬性才是正確答案。

思路

使用循環(huán)的key與點(diǎn)擊后傳過(guò)去的key做對(duì)比,如果一樣的話(huà)就給他添加相應(yīng)的css。

具體實(shí)現(xiàn)

把傳過(guò)去的key賦值給一個(gè)data里面的變量例如:index,然后在標(biāo)簽里使用三目運(yùn)算符進(jìn)行判斷

這個(gè)也不算難點(diǎn) ,還有很多種實(shí)現(xiàn)方法,比如通過(guò)路由判斷、還有通過(guò)傳路由判斷,看個(gè)人喜歡與習(xí)慣吧。

2、關(guān)于翻頁(yè)自動(dòng)感應(yīng)

思路

前面說(shuō)了,我們是使用index來(lái)控導(dǎo)航欄中哪個(gè)模塊高亮的

當(dāng)鼠標(biāo)往下滾動(dòng)時(shí)讓整個(gè)頁(yè)面往下滾動(dòng)整個(gè)頁(yè)面的高度且index加一反之減一

具體實(shí)現(xiàn)

<div @mousewheel="mouseWheel"></div>
mouseWheel(e) {
if (e.wheelDelta || e.detail) {
if (e.wheelDelta > 0 || e.detail < 0) {
 // 當(dāng)鼠標(biāo)向上滾動(dòng)時(shí)觸發(fā)
}
if (e.wheelDelta < 0 || e.detail > 0) {
 // 當(dāng)鼠標(biāo)向下滾動(dòng)時(shí)觸發(fā)
}
}
}

在最外層容器中加入這個(gè)鼠標(biāo)觸發(fā)事件

然后就可以監(jiān)聽(tīng)鼠標(biāo)滾輪向上還是向下了

呃…想詳細(xì)了解的朋友自行百度哈,這里不過(guò)多贅述

當(dāng)鼠標(biāo)向下滾動(dòng)時(shí)我們使用

window.scrollTo(x,y);

來(lái)讓頁(yè)面進(jìn)行滾動(dòng)且讓index加一反則減一

這樣一來(lái)就能實(shí)現(xiàn)導(dǎo)航欄的自動(dòng)感應(yīng)了

但是要注重幾個(gè)細(xì)節(jié)問(wèn)題

  • 第一、當(dāng)你到達(dá)了頂部或者底部時(shí)需要重置你的index
  • 第二、你加的高度變量要重置
  • 第三、滾到底部或者頂部時(shí)需要取消終止?jié)L動(dòng)函數(shù)

總結(jié)

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

相關(guān)文章

  • element-ui select多選綁定回顯值問(wèn)題

    element-ui select多選綁定回顯值問(wèn)題

    這篇文章主要介紹了element-ui select多選綁定回顯值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue + ts實(shí)現(xiàn)輪播插件的示例

    Vue + ts實(shí)現(xiàn)輪播插件的示例

    這篇文章主要介紹了Vue + ts實(shí)現(xiàn)輪播插件的示例,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-11-11
  • Vue駝峰與短橫線(xiàn)分割命名中有哪些坑

    Vue駝峰與短橫線(xiàn)分割命名中有哪些坑

    這篇文章主要介紹了Vue駝峰與短橫線(xiàn)分割命名中的注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-02-02
  • Vue解決跨域問(wèn)題常見(jiàn)方法詳解

    Vue解決跨域問(wèn)題常見(jiàn)方法詳解

    這篇文章主要介紹了Vue解決跨域問(wèn)題常見(jiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了vue出現(xiàn)跨域問(wèn)題的原因,以及常見(jiàn)解決方案與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2023-06-06
  • vue-resource post數(shù)據(jù)時(shí)碰到Django csrf問(wèn)題的解決

    vue-resource post數(shù)據(jù)時(shí)碰到Django csrf問(wèn)題的解決

    這篇文章主要介紹了vue-resource post數(shù)據(jù)時(shí)碰到Django csrf問(wèn)題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • vue3如何使用eventBus訂閱發(fā)布模式

    vue3如何使用eventBus訂閱發(fā)布模式

    EventBus是一種發(fā)布/訂閱事件設(shè)計(jì)模式的實(shí)踐,下面這篇文章主要給大家介紹了關(guān)于vue3如何使用eventBus訂閱發(fā)布模式的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Vue3引入SVG圖標(biāo)的流程步驟

    Vue3引入SVG圖標(biāo)的流程步驟

    我們?cè)陂_(kāi)發(fā) Vue 項(xiàng)目的時(shí)候會(huì)使用一些前端組件庫(kù),例如 Element、Ant Design 等,這些組件庫(kù)雖然方便,但是也有一些缺點(diǎn),比如內(nèi)置的圖標(biāo)太少,例如我們開(kāi)發(fā)醫(yī)療、財(cái)務(wù)、工程等一些前端項(xiàng)目,內(nèi)置的圖標(biāo)不能滿(mǎn)足我們的需求,所以我們常常在Vue項(xiàng)目中引入SVG圖標(biāo)
    2024-09-09
  • Vue中Vue-Baidu-Map基本使用方法實(shí)例

    Vue中Vue-Baidu-Map基本使用方法實(shí)例

    最近有一個(gè)項(xiàng)目需要用到地圖來(lái)展示位置并進(jìn)行數(shù)據(jù)交互,用vue-baidu-map實(shí)現(xiàn)出來(lái),下面這篇文章主要給大家介紹了關(guān)于Vue中Vue-Baidu-Map基本使用的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Vue如何處理圖片加載失敗時(shí)自動(dòng)替換備用圖片

    Vue如何處理圖片加載失敗時(shí)自動(dòng)替換備用圖片

    這篇文章主要為大家詳細(xì)介紹了當(dāng)圖片加載失敗時(shí),Vue如何實(shí)現(xiàn)自動(dòng)替換備用圖片功能,文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以了解下
    2024-11-11
  • vue-admin如何實(shí)現(xiàn)動(dòng)態(tài)路由

    vue-admin如何實(shí)現(xiàn)動(dòng)態(tài)路由

    這篇文章主要介紹了vue-admin如何實(shí)現(xiàn)動(dòng)態(tài)路由問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評(píng)論