摘要:先放上出來(lái)的效果看效果圖挺簡(jiǎn)單的,因?yàn)閼?。點(diǎn)擊選擇地址北京市北京市朝陽(yáng)區(qū)朝外街道請(qǐng)選擇地址請(qǐng)選擇這個(gè)還是一目了然的,很簡(jiǎn)單,下面是樣式。
????好久都沒(méi)有寫東西了,現(xiàn)在干的活都是重復(fù)和簡(jiǎn)單的活,能總結(jié)出來(lái)的東西還是不太多。
????目前做電商平臺(tái),其中用到選擇地址的控件,不過(guò)不是自己寫的,最近花時(shí)間重新自己做一個(gè),目前就先吧功能樣式,功能完成第一版,之后再進(jìn)行優(yōu)化和升級(jí),最終做成組件或者是插件形式,調(diào)用只需要幾行代碼去完成,不過(guò)這些都是后話了,目前顯示完成基本的樣子和功能。這一篇文章就當(dāng)做寫東西的一個(gè)筆記,記錄一個(gè)過(guò)程。
????先放上出來(lái)的效果
????看效果圖挺簡(jiǎn)單的,因?yàn)閼?。就用了jquery加js,方法什么的也沒(méi)考慮性能啥的,就初步先做一個(gè)出來(lái)。后面再慢慢一步步優(yōu)化。
????不愿意往下看的有興趣的可以直接看這里 githubd selectAddress-v1.0地址
????接下來(lái)我們進(jìn)入正題!有什么問(wèn)題可以留言跟我討論,這個(gè)功能不是很復(fù)雜,只是作為粗糙版就沒(méi)有考慮很多。
????接下來(lái)我們進(jìn)入正題!有什么問(wèn)題可以留言跟我討論,這個(gè)功能不是很復(fù)雜,只是作為粗糙版就沒(méi)有考慮很多。
第一步:構(gòu)思功能樣子,先有概念!????首先至少得有想法,做成什么樣子,這個(gè)很重要,要是會(huì)點(diǎn)設(shè)計(jì),可以自己先做個(gè)大概的圖或者原型,既然之后要做成組件,首先頁(yè)面上就得有個(gè)按鈕,然后彈出選擇地址的彈框,頁(yè)面上得有一個(gè)顯示選擇完地址的標(biāo)簽。
????彈框出來(lái)之后,得有幾個(gè)部分,一個(gè)是頂部標(biāo)題,叉叉按鈕用來(lái)隱藏,接下來(lái)是每級(jí)選擇完的地址顯示在中間,然后就是下面的每級(jí)地址列表,并且列表中若有選中的地址則標(biāo)紅,這些都是最基本的。
????我這邊做的地址目前只有四級(jí)地址,不會(huì)有更深層次的地址,所以只有四列。構(gòu)思好了,大概樣子就是下圖。
第二步:構(gòu)思完之后就是構(gòu)造頁(yè)面????構(gòu)造頁(yè)面算是最簡(jiǎn)單的部分了,就是寫html,css了。寫成上圖的樣子。
????因?yàn)樗募?jí)地址列表考慮到多次切換留有緩存的問(wèn)題,沒(méi)有做成每切換一次就請(qǐng)求一次,而是做成四個(gè)列表,通過(guò)隱藏顯示的方式來(lái)更方便的操作。
Title 點(diǎn)擊選擇地址北京市,北京市,朝陽(yáng)區(qū),朝外街道
????這個(gè)html還是一目了然的,很簡(jiǎn)單,下面是css樣式。
body, html { -webkit-user-select: none; user-select: none } html { -webkit-text-size-adjust: 100% } body { line-height: 1.6; background-color: #f5f5f9; color: #4a4a4a; font-size: 14px; font-family: Arial, "微軟雅黑", Helvetica Neue, Helvetica, sans-serif; -webkit-overflow-scrolling: touch; overflow-scrolling: touch } * { margin: 0; padding: 0 } a img { border: 0 } a { text-decoration: none; -webkit-tap-highlight-color: transparent; -webkit-appearance: none } @font-face { font-weight: 400; font-style: normal; font-size: 14px; font-family: Arial, "微軟雅黑", Helvetica Neue, Helvetica, sans-serif } input, textarea { border: 0; outline: 0; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; font-size: inherit; color: inherit } /*點(diǎn)擊選擇按鈕*/ .btn{ margin: 0 auto; width: calc(50%); height: 30px; margin-top: 100px; background-color: lightcyan; line-height: 30px; text-align: center; font-size: 14px; } .alignment_middle{ -webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: start; -webkit-justify-content: flex-start; justify-content: flex-start; display: -webkit-box; display: -webkit-flex; display: flex; } /*顯示文字*/ .show_address{ margin: 0 auto; margin-top: 10px; width: 80%; height: 30px; background-color: #fff; text-align: center; line-height: 30px; font-size: 14px; } /*背景*/ .yls_address_bg { position: fixed; top: 0; left: 0; height: 100%; width: 100%; background: #000; z-index: 500; opacity: .3; -webkit-transition: opacity .3s; transition: opacity .3s; touch-action: none } /*主彈框*/ .yls_address_main { position: fixed; left: 0; width: 100%; bottom: 0; background: #fff; border-radius: 10px 10px 0 0; box-shadow: 0 0 3px #e9e9e9; -webkit-transform: translate3d(0, 120%, 0); transform: translate3d(0, 120%, 0); -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s, -webkit-transform .3s; z-index: 1001; transform: translate3d(0, 0, 0); } .yls_address_pop_top { text-align: center; height: 50px; margin-bottom: 5px; } .yls_address_pop_title { height: 100%; line-height: 50px; } .yls_address_pop_cancel { position: absolute; right: 0; top: 0; width: 50px; height: 50px; } .yls_address_pop_cancel::before, .yls_address_pop_cancel::after { content: ""; width: 16px; height: 1px; background: #000; display: block; position: absolute; right: 10px; top: 25px; } .yls_address_pop_cancel::before { transform: rotate(45deg); /*進(jìn)行旋轉(zhuǎn)*/ } .yls_address_pop_cancel::after { transform: rotate(-45deg); } .yls_address_pop_main { } .yls_address_product{ } .yls_address_select{ height: calc(60vh); width: 100%; position: relative; overflow: hidden; } .yls_address_top_address{ font-size: 12px; height: 35px; overflow: hidden; border-bottom: 1px solid #ffffd; } .yls_address_top_address>div{ padding: 5px 5px; margin: 0 5px; white-space: nowrap; } .yls_address_top_address>div.show{ color: #c91623; border-bottom: #c91623 1px solid; } .yls_address{ position: absolute; left: 0; top: 45px; overflow: auto; width: 100%; height: calc(60vh - 35px); -webkit-transform: translate3d(-100%,0,0); transform: translate3d(-100%,0,0); -webkit-transition: -webkit-transform .3s .2s; transition: -webkit-transform .3s .2s; transition: transform .3s .2s; transition: transform .3s .2s,-webkit-transform .3s .2s; } .yls_address p{ padding: 8px 10px; font-size: 14px; } .yls_address p.p_show { position: relative; color: #c91623; } .yls_address.show { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
????css上半部分是一些基本的初始化瀏覽器樣式,下面部分就是地址選擇的樣式,目前還沒(méi)加入動(dòng)態(tài)效果,之后優(yōu)化部分考慮做進(jìn)去。不過(guò)這部分的樣式完全可以自己按照自己的喜好做,想做成什么樣子就做成什么樣子的。
第三步 :邏輯部分????這個(gè)部分算是最重要的,不過(guò)在此重申一遍,我做的只是粗糙的版本,邏輯部分是沒(méi)有經(jīng)過(guò)任何優(yōu)化的,這個(gè)大家可以按照自己優(yōu)化的方式進(jìn)行優(yōu)化,后期我會(huì)做成插件形式再寫一篇。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/53514.html
摘要:先放上出來(lái)的效果看效果圖挺簡(jiǎn)單的,因?yàn)閼?。點(diǎn)擊選擇地址北京市北京市朝陽(yáng)區(qū)朝外街道請(qǐng)選擇地址請(qǐng)選擇這個(gè)還是一目了然的,很簡(jiǎn)單,下面是樣式。 ????好久都沒(méi)有寫東西了,現(xiàn)在干的活都是重復(fù)和簡(jiǎn)單的活,能總結(jié)出來(lái)的東西還是不太多。 ????目前做電商平臺(tái),其中用到選擇地址的控件,不過(guò)不是自己寫的,最近花時(shí)間重新自己做一個(gè),目前就先吧功能樣式,功能完成第一版,之后再進(jìn)行優(yōu)化和升級(jí),最終做成組件...
摘要:先放上出來(lái)的效果看效果圖挺簡(jiǎn)單的,因?yàn)閼?。點(diǎn)擊選擇地址北京市北京市朝陽(yáng)區(qū)朝外街道請(qǐng)選擇地址請(qǐng)選擇這個(gè)還是一目了然的,很簡(jiǎn)單,下面是樣式。 ????好久都沒(méi)有寫東西了,現(xiàn)在干的活都是重復(fù)和簡(jiǎn)單的活,能總結(jié)出來(lái)的東西還是不太多。 ????目前做電商平臺(tái),其中用到選擇地址的控件,不過(guò)不是自己寫的,最近花時(shí)間重新自己做一個(gè),目前就先吧功能樣式,功能完成第一版,之后再進(jìn)行優(yōu)化和升級(jí),最終做成組件...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽說(shuō)2017你想寫前端?:適合于已經(jīng)度過(guò)了小白階...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽說(shuō)2017你想寫前端?:適合于已經(jīng)度過(guò)了小白階...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽說(shuō)2017你想寫前端?:適合于已經(jīng)度過(guò)了小白階...
閱讀 1389·2021-10-14 09:43
閱讀 4243·2021-09-27 13:57
閱讀 4573·2021-09-22 15:54
閱讀 2569·2021-09-22 10:54
閱讀 2385·2021-09-22 10:02
閱讀 2121·2021-08-27 13:11
閱讀 878·2019-08-29 18:44
閱讀 1650·2019-08-29 15:20