jQselectable 可以把原本呆板的下拉選單轉換成可以讓使用者一目了然的清單項目,甚至還允許能自訂選單樣式哩。
套件名稱:jQselectable
套件版本:1.3.2
作者網站:http://code.google.com/p/jqselectable/
套件網址:N/A
發佈日期:2010-12-01
檔案大小:10.6 KB
檔案下載:jQselectable.js skin.zip
參數說明:
檢視原始碼 JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | style(選填) 描述: 展開後的清單項目樣式;允許的值有 'selectable', 'simple' 預設值: 'selectable' set(選填) 描述: 清單項目顯示的方式;允許的值有 'show', 'slideDown', 'fadeIn' 預設值: 'show' out(選填) 描述: 清單項目隱藏的方式;允許的值有 'hide', 'slideUp', 'fadeOut' 預設值: 'hide' setDuration(選填) 描述: 清單項目顯示的速度;允許的值有 'slow', 'normal', 'fast' 或是自訂的數字時間(1000毫秒 = 1秒) 預設值: 'normal' outDuration(選填) 描述: 清單項目隱藏的方式;允許的值有 'slow', 'normal', 'fast' 或是自訂的數字時間(1000毫秒 = 1秒) 預設值: 'normal' opacity(選填) 描述: 清單項目的不透明度:0 表示完全透明,而 1 表示不透明 預設值: 1 top(選填) 描述: 清單項目距離下拉選單的 top 距離 預設值: 0 left(選填) 描述: 清單項目距離下拉選單的 left 距離 預設值: 0 callback(選填) 描述: 當點選完某清單項目後執行的動作 預設值: null height(選填) 描述: 清單項目的高度 預設值: 會依內容來完全展開 selectable(選填) 描述: selectable 樣式的樣板 預設值: '<div class="sctble_cont"/>' simpleBox(選填) 描述: simple 樣式的樣板 預設值: '<div class="simple_cont"/>' |
方法說明:
檢視原始碼 JavaScript
1 2 3 4 5 6 7 8 | // 把指定的下拉選單變成加上 readmore 效果 $(selector).jQselectable(options, temp); // 把指定的下拉選單變成加上 readmore 效果(要先確定沒有使用到有同樣名稱的外掛才行) $(selector).selectable(options, temp); // 如果要重新產生新的清單項目時 $(selector).rebuild(); |
使用範例:
檢視原始碼 JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jQselectable.js"></script> <script type="text/javascript"> $(function($) { // 用淡入的方式載入 $(".selectable").jQselectable({ set: "fadeIn", setDuration: "fast", opacity: .9 }); // 樣式為 simple // 用 slideDown 的方式載入, 用 fadeOut 的方式淡出 $(".simpleBox").jQselectable({ style: "simple", set: "slideDown", out: "fadeOut", setDuration: 150, outDuration: 150, height: 160, opacity: .9 }); // 改變 jQselectable 的風格 var css = $("#jqselectablecss"); $("#skin a").click(function(){ var href = this.href.split("#")[1]; css[0].href = css[0].href.replace(/(skin\/)\w+(\/style.css)/,"$1"+href+"$2"); return false; }); }); </script> <body> <p id="skin">change styles:<a href="#selectable">selectable</a> | <a href="#natural">natural</a></p> <h3>未加效果前</h3> <select id="pref" name="pref"> <optgroup label="台北市"> <option value="100">中正區</option> <option value="103">大同區</option> <option value="104">中山區</option> <option value="105">松山區</option> <option value="106">大安區</option> <option value="108">萬華區</option> <option value="110">信義區</option> <option value="111">士林區</option> <option value="112">北投區</option> <option value="114">內湖區</option> <option value="115">南港區</option> <option value="116">文山區</option> </optgroup> <optgroup label="基隆市"> <option value="200">仁愛區</option> <option value="201">信義區</option> <option value="202">中正區</option> <option value="203">中山區</option> <option value="204">安樂區</option> <option value="205">暖暖區</option> <option value="206">七堵區</option> </optgroup> <optgroup label="新北市"> <option value="207">萬里區</option> <option value="208">金山區</option> <option value="220">板橋區</option> <option value="221">汐止區</option> <option value="222">深坑區</option> <option value="223">石碇區</option> <option value="224">瑞芳區</option> <option value="226">平溪區</option> <option value="227">雙溪區</option> <option value="228">貢寮區</option> </optgroup> <optgroup label="連江縣"> <option value="209">南竿鄉</option> <option value="210">北竿鄉</option> <option value="211">莒光鄉</option> <option value="212">東引鄉</option> </optgroup> <optgroup label="台南市"> <option value="700">中西區</option> <option value="701">東區</option> <option value="702">南區</option> <option value="704">北區</option> <option value="708">安平區</option> <option value="709">安南區</option> <option value="710">永康區</option> </optgroup> </select> <br /> <br /> <br /> <h3>selectable 效果</h3> <select id="pref" name="pref" class="selectable"> <optgroup label="台北市"> <option value="100">中正區</option> <option value="103">大同區</option> <option value="104">中山區</option> <option value="105">松山區</option> <option value="106">大安區</option> <option value="108">萬華區</option> <option value="110">信義區</option> <option value="111">士林區</option> <option value="112">北投區</option> <option value="114">內湖區</option> <option value="115">南港區</option> <option value="116">文山區</option> </optgroup> <optgroup label="基隆市"> <option value="200">仁愛區</option> <option value="201">信義區</option> <option value="202">中正區</option> <option value="203">中山區</option> <option value="204">安樂區</option> <option value="205">暖暖區</option> <option value="206">七堵區</option> </optgroup> <optgroup label="新北市"> <option value="207">萬里區</option> <option value="208">金山區</option> <option value="220">板橋區</option> <option value="221">汐止區</option> <option value="222">深坑區</option> <option value="223">石碇區</option> <option value="224">瑞芳區</option> <option value="226">平溪區</option> <option value="227">雙溪區</option> <option value="228">貢寮區</option> </optgroup> <optgroup label="連江縣"> <option value="209">南竿鄉</option> <option value="210">北竿鄉</option> <option value="211">莒光鄉</option> <option value="212">東引鄉</option> </optgroup> <optgroup label="台南市"> <option value="700">中西區</option> <option value="701">東區</option> <option value="702">南區</option> <option value="704">北區</option> <option value="708">安平區</option> <option value="709">安南區</option> <option value="710">永康區</option> </optgroup> </select> <br /> <br /> <br /> <select name="date_year" id="date_year" class="selectable m_year"> <option value="1980">1980</option> <option value="1981">1981</option> <option value="1982">1982</option> <option value="1983">1983</option> <option value="1984">1984</option> <option value="1985">1985</option> <option value="1986">1986</option> <option value="1987">1987</option> <option value="1988">1988</option> <option value="1989" class="br">1989</option> <option value="1990">1990</option> <option value="1991">1991</option> <option value="1992">1992</option> <option value="1993">1993</option> <option value="1994">1994</option> <option value="1995">1995</option> <option value="1996">1996</option> <option value="1997">1997</option> <option value="1998">1998</option> <option value="1999" class="br">1999</option> <option value="2000">2000</option> <option value="2001">2001</option> <option value="2002">2002</option> <option value="2003">2003</option> <option value="2004">2004</option> <option value="2005">2005</option> <option value="2006">2006</option> <option value="2007">2007</option> <option value="2008" selected="selected">2008</option> <option value="2009">2009</option> </select> 年 <select name="date_month" id="date_month" class="selectable m_month"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> 月 <select name="date_day" id="date_day" class="selectable m_day"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7" class="br">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14" class="br">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21" class="br">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28" class="br">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> 日 <br /> <br /> <br /> <h3>simple 效果</h3> <select id="pref_noopt2" name="pref_noopt2" class="simpleBox"> <option value="100">中正區</option> <option value="103">大同區</option> <option value="104">中山區</option> <option value="105">松山區</option> <option value="106">大安區</option> <option value="108">萬華區</option> <option value="110">信義區</option> <option value="111">士林區</option> <option value="112">北投區</option> <option value="114">內湖區</option> <option value="115">南港區</option> <option value="116">文山區</option> <option value="200">仁愛區</option> <option value="201">信義區</option> <option value="202">中正區</option> <option value="203">中山區</option> <option value="204">安樂區</option> <option value="205">暖暖區</option> <option value="206">七堵區</option> <option value="207">萬里區</option> <option value="208">金山區</option> <option value="220">板橋區</option> <option value="221">汐止區</option> <option value="222">深坑區</option> <option value="223">石碇區</option> <option value="224">瑞芳區</option> <option value="226">平溪區</option> <option value="227">雙溪區</option> <option value="228">貢寮區</option> <option value="209">南竿鄉</option> <option value="210">北竿鄉</option> <option value="211">莒光鄉</option> <option value="212">東引鄉</option> <option value="700">中西區</option> <option value="701">東區</option> <option value="702">南區</option> <option value="704">北區</option> <option value="708">安平區</option> <option value="709">安南區</option> <option value="710">永康區</option> </select> <br /> <br /> <br /> <select name="date_year2" id="date_year2" class="simpleBox s_year"> <option value="1980">1980</option> <option value="1981">1981</option> <option value="1982">1982</option> <option value="1983">1983</option> <option value="1984">1984</option> <option value="1985">1985</option> <option value="1986">1986</option> <option value="1987">1987</option> <option value="1988">1988</option> <option value="1989">1989</option> <option value="1990">1990</option> <option value="1991">1991</option> <option value="1992">1992</option> <option value="1993">1993</option> <option value="1994">1994</option> <option value="1995">1995</option> <option value="1996">1996</option> <option value="1997">1997</option> <option value="1998">1998</option> <option value="1999">1999</option> <option value="2000">2000</option> <option value="2001">2001</option> <option value="2002">2002</option> <option value="2003">2003</option> <option value="2004">2004</option> <option value="2005">2005</option> <option value="2006">2006</option> <option value="2007">2007</option> <option value="2008">2008</option> <option value="2009">2009</option> </select> / <select name="date_month2" id="date_month2" class="simpleBox s_month"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> / <select name="date_day2" id="date_day2" class="simpleBox s_day"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> </body> |
備註:
若在 option 中加入 class="br" 的話,則 jQselectable 在轉換的過程中會自動在該項目後面加上 <br /> 換行的符號;若是有 selected 屬性時,則也會被當成預設值。
另外,原本的會在 IE8 中有錯誤的情況發生,所以筆者有試著找出問題來修正它-jQselectable.fix.js。
範例裡的
simple 效果
有問題!
謝謝你的回報, 不過我試著用 Chrome, IE9 都是正常的
不知道你是用什麼瀏覽器瀏覽, 然後有怎樣的問題呢?!
測試結果是IE8 不能,IE7 可以
網頁錯誤詳細資料
使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
時間戳記: Fri, 12 Aug 2011 12:30:06 UTC
訊息: 不正確的引數。
行: 18
字元: 20286
程式碼: 0
URI: http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js
我大概找出問題並修正了, 再麻煩你試看看囉。
終於找到我要找得東西了 謝謝 男丁老師的分享
請問男丁格爾老師~~
如果要做出第二層選單,就像是選第一個選單有a.b.c三個選項,選a之後,第二個選單就會自動只顯示a1、a2、a3、a4、a5...等等,不會出現b1、b2...或c1、c2、c3...等等的選項
若又要使用.db檔來連結資料,這樣用JS或JQ做的出來嗎?
(我知道asp.net可以做出來@@"但想用JS來做看看^^)
這可以啊, 你可以利用 ajax 去動態修改你的選單資料。
男丁大大:
我照您上面的範例先試看看但是對齊好像沒有顯示出來
就是"日" 1~7 第一排沒有對齊第二排第三排等等
請問是什麼問題呢?
你是直接試我範例而沒對齊嗎@@?還是你自己弄的範例呢~
我看我的範例是還ok啊, 頂多是它日期是置中而已
男丁老師您好,我在select有寫change事件,當套用jQselectable後,卻失效了!?
請問該如何解決呢??
請直接使用它的 callback 參數。
男丁老師您好
我找到了callback 但是還是不太懂要怎摸寫 可以提示一下嗎 謝謝
可以新增一個 callback 屬性, 然後指定要執行的動作, ex:
感謝提示...
網頁錯誤詳細資料
使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB7.4; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; BRI/2; .NET4.0C; MASP)
時間戳記: Wed, 17 Apr 2013 09:45:17 UTC
訊息: 不正確的引數。
行: 12
字元: 12949
程式碼: 0
URI: file:///C:/Users/Zay/Desktop/ZAY%20DreamWorks%20®2014/jQuery/jquery.js
丁哥 我 IE8 不正確引數 jQuery無法正常使用
該如何處理呢?! 我以崁入 jQselectable.fix.js
6
7
8
9 $(document).ready(function () {
10
11 $('#nav li').hover(
12 function () {
13 //show its submenu
14 $('ul', this).slideDown(250);
15
16 },
17 function () {
18 //hide its submenu
19 $('ul', this).slideUp(250);
20 }
21 );
22
23 });
24
jquery1.3.2 不正確影數更改為 jquery-1.4.4版本即可!
jquery 1.3.2 衝突 Internet Explorer 8 之不正確引數 問題! 有找出辦法了!
並且在 IE9以上瀏覽器都可正常運作 包括Chrome.Firefox.Safari.Qpera 都可正常運行!
將jquery 1.3.2 跟改回 jquery 1.4.4 版本 即可!
相信很多人對IE8以前的版本都很頭痛吧!
如果沒特別限制的話, 建議用較新版的 jQuery, 以免一直卡在舊版的 bug 中.
另外, 你有用我在文章最後面補充的 jQselectable.fix.js 版本嗎?