成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

干貨--手把手?jǐn)]vue移動(dòng)UI框架:側(cè)邊菜單

bergwhite / 3001人閱讀

摘要:最后提醒下,代碼中使用而非的原因是為了啟動(dòng)移動(dòng)端手機(jī)的動(dòng)畫(huà)加速,提升動(dòng)畫(huà)流暢度。

前言

最近面試發(fā)現(xiàn)很多前端程序員都從來(lái)沒(méi)有寫(xiě)過(guò)插件的經(jīng)驗(yàn),基本上都是網(wǎng)上百度。所以打算寫(xiě)一系列文章,手把手的教一些沒(méi)有寫(xiě)過(guò)組件的兄弟們?nèi)绾稳?xiě)插件。本系列文章都基于VUE,核心內(nèi)容都一樣,會(huì)了之后大家可以快速的改寫(xiě)成react、angular或者是小程序等組件。這篇文章是第一篇,寫(xiě)的是一個(gè)類似QQ的側(cè)邊菜單組件。

效果展示

先讓大家看個(gè)效果展示,知道咱們要做的東西是個(gè)怎么樣的樣子,圖片有點(diǎn)模糊,大家先將就點(diǎn):

開(kāi)始制作 DOM結(jié)構(gòu)

整體結(jié)構(gòu)中應(yīng)該存在兩個(gè)容器:1. 菜單容器 2. 主頁(yè)面容器;因此當(dāng)前DOM結(jié)構(gòu)如下:

為了使得菜單內(nèi)容和主題內(nèi)容能夠定制,我們?cè)俳o兩個(gè)容器中加入兩個(gè)slot插槽:默認(rèn)插槽中放置主體內(nèi)容、菜單放置到menu插槽內(nèi):

css樣式

我項(xiàng)目中使用了scss,代碼如下:

此時(shí)我們就得到了兩個(gè)絕對(duì)定位的容器

javascript

現(xiàn)在開(kāi)始正式的代碼編寫(xiě)了,首先我們理清下交互邏輯:

手指左右滑動(dòng)的時(shí)候主體容器和菜單容器都跟著手指運(yùn)動(dòng)運(yùn)動(dòng)

當(dāng)手指移動(dòng)的距離超過(guò)菜單容器寬度的時(shí)候頁(yè)面不能繼續(xù)向右滑動(dòng)

當(dāng)手指向左移動(dòng)使得菜單和頁(yè)面的移動(dòng)距離歸零的時(shí)候頁(yè)面不能繼續(xù)向左移動(dòng)

當(dāng)手指釋放離開(kāi)屏幕的時(shí)候,頁(yè)面滑動(dòng)如果超過(guò)一定的距離(整個(gè)菜單寬度的比例)則打開(kāi)整個(gè)菜單,如果小于一定距離則關(guān)閉菜單

所以現(xiàn)在咱們需要在使用組件的時(shí)候能夠入?yún)⒍ㄖ撇藛螌挾纫约坝|發(fā)菜單收起關(guān)閉的臨界值和菜單寬度的比例,同時(shí)需要給主體容器添加touch事件,最后我們給菜單容器和主體容器添加各自添加一個(gè)控制他們運(yùn)動(dòng)的style,通過(guò)控制這個(gè)style來(lái)控制容器的移動(dòng)






寫(xiě)在最后

第一次寫(xiě)這樣的干貨,寫(xiě)的不好請(qǐng)見(jiàn)諒,如果大家覺(jué)得有用,給個(gè)賞錢喝杯茶唄,讓我后續(xù)更有動(dòng)力寫(xiě)完所有移動(dòng)端常用的UI組件的文章(誰(shuí)能教教我怎么在把這兩個(gè)贊助碼縮小啊,尷尬)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93241.html

相關(guān)文章

  • 干貨--把手vue移動(dòng)UI框架:滑動(dòng)輪播

    摘要:其次父組件中負(fù)責(zé)通用的功能,以及輪播的整體架構(gòu),其結(jié)構(gòu)如下。下面的是一種移動(dòng)端的適配方案。接下來(lái)實(shí)現(xiàn)函數(shù)運(yùn)用動(dòng)畫(huà)切換到指定下標(biāo)的子項(xiàng)到此為止,咱們就已經(jīng)完成了一個(gè)初步的滑動(dòng)切換輪播圖的功能了。 前言 昨天寫(xiě)了一篇側(cè)邊菜單組件的文章,閱讀人數(shù)挺多的,內(nèi)心很欣喜(偷著樂(lè),第一篇文章有這么多人看)!乘著這股勁,今天在繼續(xù)寫(xiě)一篇我們平時(shí)工作中更常用的滑動(dòng)輪播組件的文章。 效果展示 老規(guī)矩,咱們...

    MSchumi 評(píng)論0 收藏0
  • 干貨--把手vue移動(dòng)UI框架: 滑動(dòng)加載

    摘要:前言在我們移動(dòng)端還有一個(gè)很常用的組件,那就是滑動(dòng)加載更多組件。平常我們看到的很多插件實(shí)現(xiàn)相當(dāng)復(fù)雜就覺(jué)得這個(gè)組件很難,其實(shí)不是的這個(gè)組件其實(shí)可以很簡(jiǎn)單的就實(shí)現(xiàn)出來(lái),而且體驗(yàn)也能非常的棒當(dāng)然我們沒(méi)有實(shí)現(xiàn)下拉刷新功能下面我們就一起來(lái)實(shí)現(xiàn)這個(gè)組件。 前言 在我們移動(dòng)端還有一個(gè)很常用的組件,那就是滑動(dòng)加載更多組件。平常我們看到的很多插件實(shí)現(xiàn)相當(dāng)復(fù)雜就覺(jué)得這個(gè)組件很難,其實(shí)不是的?。∵@個(gè)組件其實(shí)可...

    Harpsichord1207 評(píng)論0 收藏0
  • 干貨--把手vue移動(dòng)UI框架: 滑動(dòng)刪除

    摘要:的結(jié)構(gòu)如下樣式我們這里讓正文占據(jù)視圖的,然后按鈕容器靠右絕對(duì)定位,然后再把向右移動(dòng),這樣就剛好銜接在后面。當(dāng)向左滑動(dòng)的時(shí)候,向左移動(dòng),顯示出來(lái)。 前言 前幾天因?yàn)轫?xiàng)目需要,用jquery寫(xiě)了一個(gè)swiperOut組件,然后我就隨便把這個(gè)組件翻譯成基于Vue的了,有興趣的朋友可以看下。Github源碼(不麻煩的話幫忙start,請(qǐng)各位大爺賞個(gè)星星) demo展示 效果展示 老規(guī)矩,先上效...

    MkkHou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<