首頁 web前端 js教程 vue監聽滾動事件某元素吸頂或固定位置顯示詳解

vue監聽滾動事件某元素吸頂或固定位置顯示詳解

May 10, 2018 pm 04:48 PM
事件 元素

本文主要為大家詳細介紹了vue實現某元素吸頂或固定位置顯示,監聽滾動事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能幫助到大家。

最近寫了一個VUE的web app項目,需要實現某個部位吸頂的效果。即,頁面往上滑動,剛好到達該部位時,該部分,固定在頂部顯示。

1、監聽捲動事件
利用VUE寫一個在控制台列印目前的scrollTop,
首先,在mounted鉤子中為window新增一個捲動捲動監聽事件,

mounted () {
 window.addEventListener('scroll', this.handleScroll)
},
登入後複製

然後在方法中,加入這個handleScroll方法

handleScroll () {
 var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
 console.log(scrollTop)
},
登入後複製

控制台列印結果:

##2、監聽元素到頂部的距離  並判斷滾動的距離如果大於了元素到頂部的距離時,設定searchBar為true,否則就是false

handleScroll () {
 var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
 var offsetTop = document.querySelector('#searchBar').offsetTop
 if (scrollTop > offsetTop) {
 this.searchBarFixed = true
 } else {
 this.searchBarFixed = false
 }
},
登入後複製

先寫一個該元素固定到頂部的樣式,isFixed(less寫法)

.searchBar{
 .isFixed{
 position:fixed;
 background-color:#Fff;
 top:0;
 z-index:999;
 }
 ul {
 WIDTH:100%;
 height: 40px;
 line-height: 40px;
 display: flex;
 li {
  font-size: 0.8rem;
  text-align: center;
  flex: 1;
  i {
  font-size: 0.9rem;
  padding-left: 5px;
  color: #ccc;
  }
 }
 border-bottom: 1px solid #ddd;
 }
}
登入後複製

然後將需要固定的元素的class與searchBar進行綁定,如果searchBar為true時,就應用這個isFixed樣式

<p class="searchBar" id="searchBar">
 <ul :class="searchBarFixed == true ? &#39;isFixed&#39; :&#39;&#39;">
 <li>区域<i class="iconfont icon-jiantouxia"></i></li>
 <li>价格<i class="iconfont icon-jiantouxia"></i></li>
 <li>房型<i class="iconfont icon-jiantouxia"></i></li>
 <li>更多<i class="iconfont icon-jiantouxia"></i></li>
 </ul>
</p>
登入後複製

固定後的結果:

注意,如果離開該頁面需要移除這個監聽的事件,不然會報錯。

destroyed () {
 window.removeEventListener(&#39;scroll&#39;, this.handleScroll)
},
登入後複製
相關推薦:


關於JavaScript如何實作導覽列吸頂操作的實例分享

js實作導覽吸頂效果

實作tab吸頂使用react.js中的問題#

以上是vue監聽滾動事件某元素吸頂或固定位置顯示詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在iPhone鎖定畫面上取得即將到來的日曆事件 在iPhone鎖定畫面上取得即將到來的日曆事件 Dec 01, 2023 pm 02:21 PM

在運行iOS16或更高版本的iPhone上,您可以直接在鎖定畫面上顯示即將到來的日曆事件。繼續閱讀以了解它是如何完成的。由於錶盤複雜功能,許多AppleWatch用戶習慣能夠看一眼手腕來查看下一個即將到來的日曆事件。隨著iOS16和鎖定螢幕小部件的出現,您可以直接在iPhone上查看相同的日曆事件訊息,甚至無需解鎖設備。日曆鎖定螢幕小元件有兩種風格,可讓您追蹤下一個即將發生的事件的時間,或使用更大的小元件來顯示事件名稱及其時間。若要開始新增小元件,請使用面容ID或觸控ID解鎖iPhone,長按

jQuery中如何實作select元素的改變事件綁定 jQuery中如何實作select元素的改變事件綁定 Feb 23, 2024 pm 01:12 PM

jQuery是一個受歡迎的JavaScript函式庫,可以用來簡化DOM操作、事件處理、動畫效果等。在web開發中,常常會遇到需要對select元素進行改變事件綁定的情況。本文將介紹如何使用jQuery實作對select元素改變事件的綁定,並提供具體的程式碼範例。首先,我們需要使用標籤來建立一個包含選項的下拉式選單:

如何在PHP專案中實現日曆功能和事件提醒? 如何在PHP專案中實現日曆功能和事件提醒? Nov 02, 2023 pm 12:48 PM

如何在PHP專案中實現日曆功能和事件提醒?在開發Web應用程式時,行事曆功能和事件提醒是常見的需求之一。無論是個人日程管理、團隊協作,或是線上活動安排,行事曆功能都可以提供便利的時間管理和事務安排。在PHP專案中實現日曆功能和事件提醒可以透過以下步驟來完成。資料庫設計首先,需要設計資料庫表來儲存日曆事件的相關資訊。一個簡單的設計可以包含以下欄位:id:事件的唯一

CSS過渡效果:如何實現元素的滑動效果 CSS過渡效果:如何實現元素的滑動效果 Nov 21, 2023 pm 01:16 PM

CSS過渡效果:如何實現元素的滑動效果引言:在網頁設計中,元素的動態效果能夠提升使用者體驗,其中滑動效果是常見而又受歡迎的過渡效果。透過CSS的過渡屬性,我們可以輕鬆實現元素的滑動動畫效果。本文將介紹如何使用CSS過渡屬性來實現元素的滑動效果,並提供具體的程式碼範例,以幫助讀者更好地理解和應用。一、CSS過渡屬性transition的簡介CSS過渡屬性tra

CSS變形:如何實現元素的旋轉效果 CSS變形:如何實現元素的旋轉效果 Nov 21, 2023 pm 06:36 PM

CSS變形:如何實現元素的旋轉效果,需要具體程式碼範例在網頁設計中,動畫效果是提高使用者體驗和吸引使用者註意力的重要方式之一,而旋轉動畫是其中比較經典的一種。在CSS中,使用「transform」屬性可以實現元素的各種變形效果,包括旋轉。本文將詳細介紹如何利用CSS的「transform」實現元素的旋轉效果,並提供具體的程式碼範例。一、如何使用CSS的「transf

如何使用 PHP 建立基於事件的應用程式 如何使用 PHP 建立基於事件的應用程式 May 04, 2024 pm 02:24 PM

在PHP中建構基於事件的應用程式的方法包括:使用EventSourceAPI建立事件來源,並在客戶端使用EventSource物件監聽事件。使用伺服器傳送的事件(SSE)傳送事件,並在客戶端使用XMLHttpRequest物件監聽事件。一個實用的例子是在電子商務網站中使用EventSource即時更新庫存計數,在伺服器端透過隨機更改庫存並發送更新來實現,客戶端則透過EventSource監聽庫存更新並即時顯示。

如何使用HTML和CSS實作一個具有固定導航選單的佈局 如何使用HTML和CSS實作一個具有固定導航選單的佈局 Oct 26, 2023 am 11:02 AM

如何使用HTML和CSS實現一個具有固定導航選單的佈局在現代網頁設計中,固定導航選單是常見的佈局之一。它可以使導航選單始終保持在頁面頂部或側邊,使用戶可以輕鬆瀏覽網頁內容。本文將介紹如何使用HTML和CSS實作一個具有固定導航選單的佈局,並提供具體的程式碼範例。首先,需要建立一個HTML結構來呈現網頁的內容和導覽選單。以下是一個簡單的範例

如何使用CSS實現元素的透明度漸變效果 如何使用CSS實現元素的透明度漸變效果 Nov 21, 2023 pm 01:38 PM

如何使用CSS實現元素的透明漸變效果在Web開發中,為網頁元素添加過渡效果是提升使用者體驗的重要手段之一。透明度的漸層效果不僅可以使頁面變得更加平滑,還可以突出元素的重點內容。本文將介紹如何使用CSS實現元素的透明度漸變效果,並提供具體的程式碼範例。使用CSS的transition屬性要實現元素的透明度漸變效果,我們需要使用CSS的transition屬性。 t

See all articles