點選上面這張圖片就可以看到效果~
其實下拉式選單對我來說並不難,
大概半小時就可以用 css 做出一組,
但要做成方便修改的 plugin 又是一回事了,
這個 plugin 我整整做了兩天才做出來,
在設定自由度與彈性上做了滿大的開放,
應該可以滿足大部分前端設計者的需求,
但真正快速且對流覽器負擔不大的下拉式選單,
坦白說還是用 css 做的最快速ㄎㄎ~
oxxo_dropListMenu_v1.js 主程式下載 (右鍵另存)
oxxo_dropListMenu_v1_options.js 設定檔下載 (右鍵另存)
dropListMenu_img.zip 指標箭頭 icon 下載 (右鍵另存)
因為下拉式選單的設定不少,
(例如選單位置、顏色、背景色、邊框...等一大堆)
所以另外做了一個設定檔的 js,
要套用這個 plugin 就要連同設定檔一起套用,
不過把設定檔直接寫在同一頁裡面也是沒問題的,
只是會落落長,所以才獨立到外面,
下載後開啟,說明在設定檔裡面都寫得很清楚囉,
相信在五分鐘內就可以做出一個美美的下拉選單~
設定檔:
範例html:
oxxo_dropListMenu_v1_options.js 設定檔下載 (右鍵另存)
dropListMenu_img.zip 指標箭頭 icon 下載 (右鍵另存)
因為下拉式選單的設定不少,
(例如選單位置、顏色、背景色、邊框...等一大堆)
所以另外做了一個設定檔的 js,
要套用這個 plugin 就要連同設定檔一起套用,
不過把設定檔直接寫在同一頁裡面也是沒問題的,
只是會落落長,所以才獨立到外面,
下載後開啟,說明在設定檔裡面都寫得很清楚囉,
相信在五分鐘內就可以做出一個美美的下拉選單~
設定檔:
mainFloat : 0, // 0:水平,1:垂直 mainWidth : 0, // 主選單為垂直的時候,必需要設定寬度,主選單為水平時不一定,如果不需要,填上 0 可取消寬度 mainMargin : 2, // 主選單彼此之間的間隔 mainPadding : "5px 10px", // 主選單文字與其邊框的間距 ( css padding 寫法 ) secondMenuMarginLeftMove : 0, // 第二層選單左右水平位置 secondMenuMarginTopMain : 1, // 第二層選單與主選單之間的空隙 ( 主選單為水平 ) secondMenuMarginTopMove : -28, // 第二層選單上下位置 ( 主選單垂直時 ) thirdMenuMarginTopMove : -1, // 第三層選單(與以後)垂直移動距離 ( 主選單垂直時 ) allMenuAnimateOption : 1, // 彈出動畫開啟或關閉,0:關閉,1:開啟 allMenuAnimateTime :250, // 彈出動畫時間,毫秒 allMenuShadowOption : 1, // 陰影開啟或關閉,0:關閉,1:開啟 allMenuShadowX : 2, // 陰影水平位移 allMenuShadowY : 2, // 陰影垂直位移 allMenuShadowBlur : 3, // 陰影模糊程度 allMenuShadowColor : "#000", // 陰影顏色 (css 顏色寫法) mainBorderWidth : 1, // 主選單邊框樣式 ( css 寫法 ) mainBorderStyle : "solid", mainBorderColor : "#aaa", mainHoverBorderWidth : 1, // 主選單 hover 邊框樣式 ( css 寫法 ) mainHoverBorderColor : "#aaa", mainHoverBorderStyle : "solid", mainFontSize : "12px", // 主選單文字大小 ( 包含超連結 ) ( css 寫法 ) mainColor : "#000", // 主選單文字顏色 ( 包含超連結 ) ( css 寫法 ) mainTextAlign : "left", // 主選單文字對齊 ( 包含超連結 ) ( css 寫法 ) mainTextDecoration : "none", // 主選單文字樣式 ( 包含超連結 ) ( css 寫法 ) mainFontWeight : "normal", // 主選單文字粗細 ( 包含超連結 ) ( css 寫法 ) mainFontFamily : "新細明體" , // 主選單字體 ( 包含超連結 ) ( css 寫法 ) mainHoverTextDecoration : "underline", // 主選單hover文字樣式 ( 包含超連結 hover ) ( css 寫法 ) mainHoverColor : "#fff", // 主選單hover文字顏色 ( 包含超連結 hover ) ( css 寫法 ) mainHoverFontWeight : "normal", // 主選單hover文字粗細 ( 包含超連結 hover ) ( css 寫法 ) mainBg : "#eee", // 主選單背景樣式 ( css 寫法,寫法可與 css 中 background 寫法相同 ) mainHoverBg : "#666", // 主選單hover背景樣式 ( css 寫法,寫法可與 css 中 background 寫法相同 ) outsideMenuBorderWidth : 1, // 選單最外圍邊框樣式 ( css 寫法 ) ( 不含主選單 ) outsideMenuBorderStyle : "solid", outsideMenuBorderColor : "#999", outsideMenuBg : "#fff", // 選單最外圍背景樣式 ( css 寫法,寫法可與 css 中 background 寫法相同 ) ( 不含主選單 ) allMenuMarginTop : 0, // 選單內邊框與外圍邊框的間距 ( 不含主選單 ) allMenuMarginRight : 0, allMenuMarginBottom : 0, allMenuMarginLeft : 0, allMenuPaddingTop : 5, // 選單內文字與內邊框間距 allMenuPaddingRight : 5, allMenuPaddingBottom : 5, allMenuPaddingLeft : 5, allMenuBorderWidth : "0 0 0 0", // 選單邊框樣式 ( css 寫法 ) allMenuBorderStyle : "dashed", allMenuBorderColor : "#00f", allMenuHoverBorderWidth : "0 0 0 0", // 選單邊框 hover 樣式 ( css 寫法 ) allMenuHoverBorderStyle : "dashed", allMenuHoverBorderColor : "#00f", allMenuLastBorderOption : 1, // 進階選項,0:最後一個選項沒有border-bottom,1:有 allMenuFontSize : "12px", // 選單文字大小 ( 包含超連結 ) ( css 寫法 ) allMenuColor : "#000", // 選單文字顏色 ( 包含超連結 ) ( css 寫法 ) allMenuTextAlign : "left", // 選單文字對齊 ( 包含超連結 ) ( css 寫法 ) allMenuTextDecoration : "none", // 選單文字樣式 ( 包含超連結 ) ( css 寫法 ) allMenuFontWeight : "normal", // 選單文字粗細 ( 包含超連結 ) ( css 寫法 ) allMenuFontFamily : "新細明體", // 選單字體 ( 包含超連結 ) ( css 寫法 ) allMenuHoverColor : "#f00", // 選單hover文字顏色 ( 包含超連結 hover ) ( css 寫法 ) allMenuHoverTextDecoration : "underline", // 選單hover文字樣式 ( 包含超連結 hover ) ( css 寫法 ) allMenuHoverFontWeight : "normal", // 選單hover文字粗細 ( 包含超連結 ) ( css 寫法 ) allMenuBg : "#f5f5f5", // 選單背景樣式 ( css 寫法,寫法可與 css 中 background 寫法相同 ) allMenuHoverBg : "#ddd", // 選單背景 hover 樣式 ( css 寫法,寫法可與 css 中 background 寫法相同 ) groupMenuArrowOption : 1, // 具有子選單的選項後方是否有箭頭圖顯,預設為開啟,關閉時樣式與選單樣式相同(不包含主選單),0 關閉,1 開啟 groupMenuWidthAdd : 15, // 若要有指示下一層選單的箭頭或背景圖,可用此屬性增大選單右方寬度 groupMenuArrowIcon : "img/dropListMenu_img/arrow_right_000.gif", // 箭頭圖檔位置 groupMenuArrowHoverIcon : "img/dropListMenu_img/arrow_right_f00.gif", groupMenuArrowIconMarginTop : 8, // 箭頭和上邊框的距離 groupMenuArrowIconMarginRight : 3 // 箭頭和右邊框的距
範例html:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jquery dropListMenu plugin</title> <script src="jquery-1.7.1.min.js"></script> <script src="plugin/oxxo_plugin/oxxo_dropListMenu_v1.js"></script> <script src="plugin/oxxo_plugin/oxxo_dropListMenu_v1_options.js"></script> </head> <body> <div style=" position:absolute; top:30px; left:30px; z-index:100;"> <ul id="menu1"> <li><div><a href="#">選單1</a></div> <ul> <li><div><a href="#">選單1-1</a></div> <ul> <li><div><a href="#">選單1-1-1</a></div></li> <li><div>選單1-1-2</div></li> <li><div>選單1-1-3 長度長</div></li> </ul> </li> <li><div>選單1-2</div></li> <li><div>選單1-3</div> <ul> <li><div>選單1-3-1</div></li> <li><div>選單1-3-2 長度長</div></li> <li><div>選單1-3-3</div></li> </ul> </li> </ul> </li> </ul> </div> </body> </html>
沒有留言:
張貼留言