前端工程師如何提高設(shè)計(jì)的功力(三)基于JQuery的分層設(shè)計(jì)
要想在設(shè)計(jì)者的自我認(rèn)知不斷加深,用戶(hù)的不斷成熟的反饋積累,下能夠?qū)ο到y(tǒng)進(jìn)行不斷的改進(jìn)、提高,就必須一開(kāi)始就要秉承良好的架構(gòu)設(shè)計(jì)思想、風(fēng)格,為以后的重構(gòu)、改進(jìn)打下堅(jiān)實(shí)的基礎(chǔ)。
在一開(kāi)始空手套白狼的時(shí)候,我們嚴(yán)格的分層,設(shè)計(jì)數(shù)據(jù)(Data)、結(jié)構(gòu)(Strutcture)、行為(behaviour)、風(fēng)格(style),并絞盡腦汁的把要素粘連在一起,在隨后的網(wǎng)站運(yùn)營(yíng)過(guò)程中,我們大多數(shù)的情況下,可能會(huì)改變風(fēng)格、行為,少數(shù)的情況下,我們可能去重構(gòu)結(jié)構(gòu),或者改變后端的數(shù)據(jù)定義,可以看出,以后的改進(jìn)是局部的,增強(qiáng)的,不斷提高交互能力和用戶(hù)體驗(yàn)的。
如果要交系統(tǒng)的看設(shè)計(jì),可以查看以前的文章:
前端工程師如何提高設(shè)計(jì)的功力(二) 之用戶(hù)是真理,不要自己意淫設(shè)計(jì)
前端工程師如何提高設(shè)計(jì)的功力(一)
Think in Jquery
比如當(dāng)一個(gè)網(wǎng)站剛開(kāi)始的時(shí)候,他的產(chǎn)品很少,分類(lèi)目錄設(shè)計(jì)是這樣子的。

當(dāng)網(wǎng)站規(guī)模不斷擴(kuò)大,業(yè)務(wù)不斷成熟的時(shí)候,無(wú)論是設(shè)計(jì)者、使用者,都覺(jué)得不爽,覺(jué)得以前的設(shè)計(jì)很傻的時(shí)候,就需要進(jìn)行改版,這種改版如果建立在良好的分層結(jié)構(gòu)上,就容易進(jìn)行,改版,系統(tǒng)也可以穩(wěn)定的過(guò)渡到新的版本上。

以上圖為例,分層設(shè)計(jì)的步驟如下(最終的頁(yè)面效果, 可以查看Demo):
1)設(shè)計(jì)原型























2) 提出數(shù)據(jù),設(shè)計(jì)成模板(通過(guò)javascript 可以編譯模板,填充數(shù)據(jù))
模板的語(yǔ)法參考JTemplate。

























可以看出整個(gè)結(jié)構(gòu)非常的清晰,自然。
3) 設(shè)計(jì)行為
???? 我們需要賦予目錄菜單的鼠標(biāo)移動(dòng)時(shí)的Dring Down 效果。
???? 使用Jquery的時(shí)候,操作DOM節(jié)點(diǎn)非常簡(jiǎn)單。
??? 這個(gè)Javascript的代碼非常簡(jiǎn)潔:
??? 1.讀取Json產(chǎn)品目錄數(shù)據(jù)
??? 2.讀取HTML模板
??? 3.將數(shù)據(jù)填充到模板中,并顯示
??? 4.通過(guò)Jquery,綁定菜單的move in, move out事件,顯示和隱藏自菜單.
????































































???? 總結(jié):
??? 1)復(fù)雜的設(shè)計(jì)總是伴隨著臃腫的代碼、惡劣的用戶(hù)體驗(yàn)、層出不窮的BUG.
??? 2)?? Javascript代碼越少,HTML結(jié)構(gòu)越簡(jiǎn)單,就越容易維護(hù).
??? 3)? 交互設(shè)計(jì),是在交互中,不斷重構(gòu)提高的。
20人服務(wù)器合租600元/年(絕對(duì)保證)
posted on 2008-11-17 17:44 Speed 閱讀(4352) 評(píng)論(4) 編輯 收藏 所屬分類(lèi): 前端設(shè)計(jì) 、JQuery