91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue滑動吸頂及錨點定位的用法

發布時間:2020-07-28 12:23:31 來源:億速云 閱讀:361 作者:小豬 欄目:web開發

這篇文章主要講解了vue滑動吸頂及錨點定位的用法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

Vue項目中需要實現滑動吸頂以及錨點定位功能。template代碼如下:

<template>
<div class="main">
 <div id='menu'>
  <ul>
   <li v-for="item in tabList" @click='clickTab'></li>
  </ul>
 </div>
 <div id='div1'></div>
 <div id='div2'></div>
 <div id='div3'></div>
</div> 
</template>

(1)滑動吸頂:

監聽scroll事件,獲取頁面的滾動距離,一旦滾動距離大于目標值,實現滑動吸頂功能。

public isFixed = false;
public mounted() {
 this.menuTop = (document.getElementById('menu') as any).offsetTop;
 window.addEventListener('scroll', this.handleScroll);
 }
public handleScroll() {
 const scrollTop = document.documentElement.scrollTop || document.body.scrollTop; // 獲取滑動距離
 if (scrollTop < this.menuTop ) {
  this.isFixed = false;
 } else {
  this.isFixed = true; // 設置fixed定位
 }
 }
public destroyed() {
 window.removeEventListener('scroll', this.handleScroll);
}

(2)錨點定位。點擊tab,設置頁面滾動距離。

public clickTab(index: number) {
 this.activeIndex = index;
 this.isFixed = true;
 const menuHeight= (document.getElementById('menu') as any).offsetHeight;
 const div1= (document.getElementById('div1') as any).offsetTop;
 const div2= (document.getElementById('div2') as any).offsetTop;
 const div3= (document.getElementById('div3') as any).offsetTop;
 const div4= (document.getElementById('div4') as any).offsetTop;
 switch (index) {
  case 0: document.body.scrollTop = document.documentElement.scrollTop = div1 - menuHeight; break;
  case 1: document.body.scrollTop = document.documentElement.scrollTop = div2 - menuHeight; break;
  case 2: document.body.scrollTop = document.documentElement.scrollTop = div3 - menuHeight; break;
  case 3: document.body.scrollTop = document.documentElement.scrollTop = div4 - menuHeight; break;
  default: document.body.scrollTop = document.documentElement.scrollTop = div1- menuHeight;
 }
 }

看完上述內容,是不是對vue滑動吸頂及錨點定位的用法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌鲁木齐县| 耒阳市| 双鸭山市| 黎川县| 海盐县| 克山县| 花莲县| 鄂州市| 阳城县| 鹤壁市| 噶尔县| 秦皇岛市| 信阳市| 游戏| 大庆市| 浠水县| 云南省| 华坪县| 山阳县| 安塞县| 岐山县| 柳州市| 鹿邑县| 扎鲁特旗| 宁武县| 密云县| 扶风县| 临桂县| 霍林郭勒市| 白城市| 湖州市| 同德县| 乐安县| 汽车| 新蔡县| 阳高县| 理塘县| 承德县| 新密市| 聂拉木县| 忻州市|