在vue中手寫乙個文字的輪播功能

2021-09-27 07:51:29 字數 1005 閱讀 5310

最近在中控專案中遇到乙個問題,就是需要輪播顯示資料,網上給的教程都是定高的,所以就自己寫了乙個,效果如下:

對於這種輪播的功能,其實應該根據是否定高去分為兩種情況用不同的方案去處理。

一、 不定高輪播

我在看了很多部落格之後發現他們給的方案都是定高的,這種你可能一搜一大把,我就只分享別人沒有說過或者不容易找到的情況吧。我暫且將輪播的部分稱為輪播區域,將輪播區域之外的地方成為外部吧。

定高的情況下我選擇的是使用vue中的:style動態改變輪播區域的transform屬性,如果你需要上下滾動就調整translatey,如果需要左右滾動就調整translatex屬性,然後在你從後台拉取資料之後設定乙個定時器,每隔多久去改變多少的translatey(或translatex)的值,這一部分可以控制滾動的速度。**如下:

// js部分

export default

},computed: px` }; // 計算屬性改變style}},

mounted() ,

methods: else

}, 50);

});}}}

然後你需要調整一下外部樣式,給其乙個寬高,overflow設為hidden; 當然你可以將上面的**微調一下,讓其變成左右滑動,還可以改變速度,也可以新增滑鼠移動到輪播上面時停止定時器,然後滑鼠移出時開啟定時器,這樣做出乙個滑鼠移到上面停止的效果。

二、 定高輪播

由於不定高輪播中,我們是需要一直改變transform的值,效能會不好。比如在我們公司的,為了圖便宜買了乙個配置很差的電視機,就感覺像滾不動一樣。所以在定高輪播中,我們需要其他方案。這裡我研究了三套方案,但其他作者可能都寫過了,所以就簡單記錄一下吧。

1. 使用標籤,效能很好,但會存在滾了之後存在大量留白的情況,所以不推薦。

2.使用css原生動畫

3.使用vue動畫

在 Vue 中手寫乙個微型 Vuex

vuex 是乙個專為 vue.js 應用程式開發的狀態管理模式,在vue專案中,有些資料需要在很多元件內進行傳遞,為了方便管理和維護,我們就需要這樣乙個工具來管理這些資料,通常情況下我們就會選擇vuex。但是正如vuex官網所說 vuex 可以幫助我們管理共享狀態,並附帶了更多的概念和框架。這需要對...

手寫乙個彈窗元件 vue

最近的專案中,需要自己去手寫乙個全域性的彈窗元件,在下面貼出自己的 元件寫的比較簡單 notice.vue 自定義元件的掛載 這裡用了兩種不同的形式,考慮到不同的元件需要特定的方法,比如notice元件只能是乙個單例的模式,所以用了乙個notice.js給他掛載,其他通用的元件可以採用第二種方式進行...

手寫乙個Vue的資料繫結

class myvue observer val 利用object.keys 來迴圈出下標 object.keys val foreach keys defineproperty obj,key,value set newvalue document.queryselector text inner...