最近工作非常的忙,在對一個系統進行改版。項目背景是
mvc1.0開發的,但是前端部分已經改過幾個版本,而已之前的設計師很強大,又做設計又做前端開發。而已很時尚和前沿,使用了一直都很熱門的
bootstrap工具包,有很多把它定義為web前端css架構。說實話,之前隻知道它是twitter公司出品,界面做的比較好看。但是沒有在實際項
目中使用,之前公司新來的同僚會這個,準備在公司官網項目中使用,因為我不會,而已leader對這個也不感冒,是以就沒有用。而已她說配合less一起
做項目,可以提高開發效率,而已可以把系統做的更漂亮和美觀,而已對自适應設計支援比較好。
項
目需求是将html原生的select标簽替換為下圖所示的下拉框效果。我一般看到這種需求,要改變原生的html标簽,就不太喜歡弄。雖然也知道通過
ui和li标簽,加上javascript代碼可以實作和select一樣的功能,但是之前也沒有嘗試去寫過,到時bug和浏覽器相容性有問題,和pm溝
通,是不是不要改這個select,就用原生的select,pm說是為減低使用者幹擾,讓使用者不要太在意這個選擇項。我覺得也是這個道理,首先長的不想
select那麼誇張,其次那個下拉箭頭有點小,使用者也不會太刻意去點選。其實點選那個文字也是會把下面下拉清單打開的。

select
原始功能是可以點選右側的下拉箭頭可以打開下拉清單,給使用者選擇。使用者選擇一個選項,文本框裡面的值要變成對應的option的内容,并且可以擷取到
option的value值。另外一個很重要的功能是option有一個selected屬性。如果某個option有
selected=”selected”,那麼下拉框預設會選中目前這個option。
bootstrap
提供button
dropdown是為了來做漂亮的菜單,壓根不是想做select的功能。當我搜尋看到它時,我還以為bootstrap可以提供類似button
dropdown樣式的select元件。不過我是妄想,沒有這個元件,必須元件實作。其實有過用ul和li寫select标簽的經驗,寫這個也不是很困
難。
這個是button dropdown的基本代碼。因為它本身會應用css樣式,而已我們後面要改bootstrap.min.css裡面的樣式,是以我們需要在這個頁面單獨放一些樣式。
點選過程中會出現一個背景。通過chrome檢視元素,是寫box-shodow的效果。但是我改過之後,還是出現了。明天繼續查找一下。
添加1行樣式覆寫,bootstrap.css裡面本身的樣式。
注意事項:在執行個體化的過程中,我們傳入的是一個jquery選擇器的對象,是以如果一個頁面有很多自定義的dropdown,會使用類别。那在執行個體化的過程要修改一下代碼哦!