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

vue監(jiān)聽(tīng)滾動(dòng)條頁(yè)面滾動(dòng)動(dòng)畫(huà)示例代碼

 更新時(shí)間:2023年06月23日 10:48:29   作者:賀包蛋  
Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式框架,與其它大型框架不同的是,Vue?被設(shè)計(jì)為可以自底向上逐層應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于vue監(jiān)聽(tīng)滾動(dòng)條頁(yè)面滾動(dòng)動(dòng)畫(huà)的相關(guān)資料,需要的朋友可以參考下

以頁(yè)面底部的“回到頂部”功能為例,滾動(dòng)動(dòng)畫(huà)的實(shí)現(xiàn)思路是,當(dāng)點(diǎn)擊按鈕時(shí),獲取當(dāng)前滾動(dòng)條的位置,調(diào)用定時(shí)器函數(shù),每個(gè)時(shí)間間隔對(duì)滾動(dòng)條的位置遞減,直至減小到0,清除定時(shí)器,即可回到頁(yè)面頂部。

當(dāng)滾動(dòng)條沒(méi)有離開(kāi)首頁(yè)的一個(gè)屏幕高度時(shí),“回到頂部”按鈕應(yīng)設(shè)為不可見(jiàn),可以監(jiān)聽(tīng)當(dāng)前滾動(dòng)條的位置,小于一個(gè)屏幕高度時(shí),將按鈕的v-show屬性設(shè)為false,大于一個(gè)屏幕高度時(shí),則設(shè)為true

代碼示例

<template>
  <div id="index">
    <div class="toTop" v-show="showTop" @click="toTop">
      <img src="../assets/img/angle-square-up.png" alt="" width="35px" />
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      showTop: false,
    };
  },
  mounted() {
    // 添加監(jiān)聽(tīng)事件
    window.addEventListener("scroll", this.scrolling);
  },
  methods: {
  	// 監(jiān)聽(tīng)事件
    scrolling() {
      let current =
        document.documentElement.scrollTop || document.body.scrollTop;
      let vh = window.innerHeight;
      if (current >= vh) {
        this.showTop = true;
      } else {
        this.showTop = false;
      }
    },
    // 點(diǎn)擊事件
    toTop() {
      // 獲取當(dāng)前滾動(dòng)條的位置
      let top = document.documentElement.scrollTop || document.body.scrollTop;
      // 滾動(dòng)動(dòng)畫(huà)
      const timeTop = setInterval(() => {
        document.body.scrollTop =
          document.documentElement.scrollTop =
          top -=
            50;
        if (top <= 0) {
          clearInterval(timeTop);
        }
      }, 10);
    },
  },
};
</script>
<style lang="scss" scoped>
#index {
  .toTop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    cursor: pointer;
    width: 35px;
    height: 35px;
    z-index: 2;
    opacity: 0.3;
  }
}
img:hover {
  opacity: 0.5;
}
</style>

獲取滾動(dòng)條當(dāng)前位置

document.documentElement.scrollTop || document.body.scrollTop

獲取屏幕高度

window.innerHeight

弄懂了這個(gè)原理之后,頂部導(dǎo)航條的實(shí)現(xiàn)就十分簡(jiǎn)單了,如果不想寫(xiě)滾動(dòng)動(dòng)畫(huà)的話,在<a>標(biāo)簽的href屬性中填入目標(biāo)跳轉(zhuǎn)位置的元素的id,就可以非常方便的直接跳轉(zhuǎn)。

導(dǎo)航條如圖

代碼示例

<template>
  <div id="navigation">
    <ul class="part1">
      <li>LOGO</li>
    </ul>
    <ul class="part2">
      <!-- href="/" rel="external nofollow"  rel="external nofollow"  跳轉(zhuǎn)到首頁(yè) -->
      <li><a href="/" rel="external nofollow"  rel="external nofollow" >HOME</a></li>
      <!-- href="/#about" rel="external nofollow"  rel="external nofollow"  跳轉(zhuǎn)到首頁(yè)的id為about的元素位置 -->
      <li><a href="/#about" rel="external nofollow"  rel="external nofollow" >ABOUT</a></li>
      <li><a href="/#paper" rel="external nofollow" >PAPER</a></li>
      <li><a href="/#team" rel="external nofollow" >TEAM</a></li>
    </ul>
  </div>
</template>
<style lang="scss" scoped>
#navigation {
  width: 94vw;
  height: 60px;
  margin: 0 auto;
  // 彈性布局
  display: flex;
  justify-content: space-between;
  align-items: center;
  .part2 {
    // 彈性布局
    display: flex;
    justify-content: center;
    align-items: center;
  }
  li {
    width: 100px;
    height: 40px;
    line-height: 40px;
    font-weight: bold;
    a:link {
      color: #8e9eab;
    }
    a:visited {
      color: #8e9eab;
    }
    a:hover {
      color: #4f4f4f;
    }
    a:active {
      color: #4f4f4f;
    }
  }
}
</style>

插個(gè)題外話,如何優(yōu)雅地修改<a>標(biāo)簽的默認(rèn)樣式
主要是設(shè)置 a:link a:visited a:hover a:active 這幾個(gè)css屬性

修改前

修改后

附上代碼

a {
	// 清除默認(rèn)下劃線
    text-decoration: none;
}
// 超鏈接初始樣式
a:link {
    color: #8e9eab;
}
// 超鏈接被訪問(wèn)后的樣式
a:visited {
    color: #8e9eab;
}
// 鼠標(biāo)懸停時(shí)的樣式
a:hover {
    color: #4f4f4f;
}
// 點(diǎn)擊超鏈接時(shí)的樣式
a:active {
    color: #8e9eab;
}

ps:
a:hover 必須在 a:link 和 a:visited 之后
a:active 必須在 a:hover 之后

總結(jié)

到此這篇關(guān)于vue監(jiān)聽(tīng)滾動(dòng)條頁(yè)面滾動(dòng)動(dòng)畫(huà)的文章就介紹到這了,更多相關(guān)vue監(jiān)聽(tīng)滾動(dòng)條頁(yè)面滾動(dòng)動(dòng)畫(huà)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • el-form表單el-form-item驗(yàn)證規(guī)則里prop一次驗(yàn)證兩個(gè)或多個(gè)值問(wèn)題

    el-form表單el-form-item驗(yàn)證規(guī)則里prop一次驗(yàn)證兩個(gè)或多個(gè)值問(wèn)題

    這篇文章主要介紹了el-form表單el-form-item驗(yàn)證規(guī)則里prop一次驗(yàn)證兩個(gè)或多個(gè)值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue中provide、inject的使用方法案例詳解

    vue中provide、inject的使用方法案例詳解

    本教程是介紹如何在vue中使用provide和inject,在 Vue 中,provide 和 inject 是用于實(shí)現(xiàn)祖先組件向后代組件傳遞數(shù)據(jù)的一種方式,對(duì)vue中provide、inject的使用方法感興趣的朋友一起看看吧
    2024-02-02
  • 八種Vue組件間通訊方式合集(推薦)

    八種Vue組件間通訊方式合集(推薦)

    這篇文章主要介紹了八種Vue組件間通訊方式合集(推薦),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 詳解Vue3中ref和reactive函數(shù)的使用

    詳解Vue3中ref和reactive函數(shù)的使用

    這篇文章主要為大家詳細(xì)介紹了Vue3中ref和reactive函數(shù)的使用教程,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Vue有一定的幫助,需要的可以參考一下
    2022-07-07
  • vue3+ts中定義ref變量,設(shè)置變量類型方式

    vue3+ts中定義ref變量,設(shè)置變量類型方式

    這篇文章主要介紹了vue3+ts中定義ref變量,設(shè)置變量類型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue 中引用gojs繪制E-R圖的方法示例

    vue 中引用gojs繪制E-R圖的方法示例

    這篇文章主要介紹了vue 中引用gojs繪制E-R圖的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Vue狀態(tài)機(jī)的開(kāi)啟與停止操作詳細(xì)講解

    Vue狀態(tài)機(jī)的開(kāi)啟與停止操作詳細(xì)講解

    Vuex是專門為Vuejs應(yīng)用程序設(shè)計(jì)的狀態(tài)管理工具,這篇文章主要給大家介紹了關(guān)于Vuex狀態(tài)機(jī)快速了解與實(shí)例應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 詳解Vue的鉤子函數(shù)(路由導(dǎo)航守衛(wèi)、keep-alive、生命周期鉤子)

    詳解Vue的鉤子函數(shù)(路由導(dǎo)航守衛(wèi)、keep-alive、生命周期鉤子)

    這篇文章主要介紹了詳解Vue的鉤子函數(shù)(路由導(dǎo)航守衛(wèi)、keep-alive、生命周期鉤子),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • vscode配置@路徑提示方式,并解決vue文件內(nèi)失效的問(wèn)題

    vscode配置@路徑提示方式,并解決vue文件內(nèi)失效的問(wèn)題

    這篇文章主要介紹了vscode配置@路徑提示方式,并解決vue文件內(nèi)失效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue-draggable實(shí)現(xiàn)拖拽表單的示例代碼

    vue-draggable實(shí)現(xiàn)拖拽表單的示例代碼

    本文主要介紹了vue-draggable實(shí)現(xiàn)拖拽表單的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評(píng)論