欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

基于vue.js2.x的虛擬滾動(dòng)條的示例代碼-創(chuàng)新互聯(lián)

前言

10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有獨(dú)山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

記得以前偶然有一次瀏覽過(guò)一個(gè)開(kāi)源的cms項(xiàng)目,發(fā)現(xiàn)這個(gè)項(xiàng)目的左邊的菜單已經(jīng)超出了windows的寬度,我就好奇為什么沒(méi)出滾動(dòng)條呢?然后我仔細(xì)一看,發(fā)現(xiàn)它左側(cè)有一個(gè)小的div,然后我嘗試著拖動(dòng)它,發(fā)現(xiàn)竟能和原生的滾動(dòng)條一樣!可以通過(guò)查看它的源碼,發(fā)現(xiàn)了這款滾動(dòng)條的叫做slimScroll,然后我去它的github倉(cāng)庫(kù) 看了下,研究了一下源碼,給我的感覺(jué)是我也能做出來(lái)一樣的滾動(dòng)條!通過(guò)vue實(shí)現(xiàn)!

設(shè)計(jì)

好, 現(xiàn)在開(kāi)始我們的設(shè)計(jì)滾動(dòng)條的步驟:

設(shè)計(jì)滾動(dòng)條dom

首先要思考的是: 如果要使你需要滾動(dòng)的內(nèi)容滾動(dòng)的話,首先一點(diǎn)是它的父dom必須為固定長(zhǎng)寬,即超出部分要隱藏掉,即加了個(gè)樣式: overflow: hidden , 所以,我們給所要滾動(dòng)的內(nèi)容加個(gè)包裝,使它的長(zhǎng)寬和父dom相等,然后有一個(gè)樣式叫: overflow: hidden ,這個(gè)包裝的元素就叫 scrollPanel

其次:我們知道,我們要做到與原生滾動(dòng)條一樣強(qiáng)大!就必須設(shè)計(jì)水平滾動(dòng)條和垂直滾動(dòng)條,滾動(dòng)條和scrollPanel屬于兄弟節(jié)點(diǎn)之間的關(guān)系,因?yàn)闈L動(dòng)條的存在不能使原本的樣式排版錯(cuò)誤,并且支持top、left來(lái)控制其位置,所以滾動(dòng)條的position必須是absolute,好了,我們叫水平滾動(dòng)條為:hBar,垂直滾動(dòng)條為:vBar

最后:我們?cè)O(shè)計(jì)了scrollPanel、vBar、hBar, 我們需要一個(gè)父div來(lái)把他們包裝起來(lái),然后加個(gè)樣式:position: relative

實(shí)踐

設(shè)計(jì)組件結(jié)構(gòu)

首先,我們的插件一共是4個(gè)組件,其中3個(gè)是子組件,1個(gè)是父組件,分別是: vueScroll (父組件)、 scrollPanel (包裹需要滾動(dòng)內(nèi)容的子組件)、 vBar (垂直滾動(dòng)條)、 hBar (水平滾動(dòng)條)

其次,讓我們?cè)O(shè)計(jì)一下各組件所分管的功能。這里的組件分為控制層組件和展示組件(熟悉react的同學(xué)應(yīng)該有所了解),展示層組件只完成展示的功能: vBar 、 hBar 、 scrollPanel ,控制層組件有點(diǎn)類(lèi)似于cpu,可以控制子組件的各個(gè)狀態(tài),比如寬、高、顏色、透明度、位置等等。控制層組件就是: vueScroll 。

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

hBar/vBar

hBar/vBar 這兩個(gè)分別為水平滾動(dòng)條和垂直滾動(dòng)條,所實(shí)現(xiàn)的功能大體是一樣的,所以舊放在一起說(shuō)了,這里以 vBar 為例。

props 接收父組件傳過(guò)來(lái)的屬性,具體為:

{
  height: vm.state.height + 'px', //滾動(dòng)條的高度
  width: vm.ops.width, // 滾動(dòng)條的寬度
  position: 'absolute', 
  background: vm.ops.background, // 滾動(dòng)條背景色
  top: vm.state.top + 'px', // 滾動(dòng)條的高度
  transition: 'opacity .5s', // 消失/顯示 所用的時(shí)間
  cursor: 'pointer', //
  opacity: vm.state.opacity, // 透明度
  userSelect: 'none' 
 }

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:基于vue.js2.x的虛擬滾動(dòng)條的示例代碼-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://chinadenli.net/article26/eddcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)網(wǎng)站導(dǎo)航網(wǎng)站維護(hù)用戶體驗(yàn)網(wǎng)站改版域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)