国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

Css:制作一個更漂亮一些的多選列表框

2024-07-11 08:20:31
字體:
來源:轉載
供稿:網友

我認為多選列表具有完美的功能——只需按下Ctrl鍵,同時點擊鼠標從列表中選擇多個項目。以下是一個典型的多選列表框:

選出你最喜愛的快餐:

上面那個列表框的代碼如下:

以下為引用的內容:

<form method="get" action="">

<b>Check your favorite fast food:</b><br/>

<SELECT MULTIPLE SIZE=5 name="favorites">

<OPTION VALUE="McDonalds">McDonald's</option>

<OPTION VALUE="BurgerKing">Burger King</option>

<OPTION VALUE="Wendys">Wendy's</option>

<OPTION VALUE="JackInTheBox">Jack in the Box</option>

<OPTION VALUE="KFC">KFC</option>

<OPTION VALUE="TacoBell">Taco Bell</option>

</SELECT>

<br/><input type="submit" value="Choose">

</form>

事實上,即使你在頁面中添加了用法說明,仍然有用戶不知道如何使用多選列表框。另外,給每個項目增加額外的標題確實會有幫助,但用一個普通的多選列表框能否達到那個目的,我還不能確定。

不過,我確實清楚知道,用一些CSS和一小段JavaScript,你就能生成一個更漂亮一點的多選列表框,并且還可以建立一個等同于普通多選列表框的URL。那樣,你就不用修改處理列表框的后端代碼——而只需要美化前端即可。

你首先從CSS開始,建立一個新多選列表框在其中滾動的小區域。我們還可以建立懸浮效果,當鼠標移動到一個項目上時,背景色就會改變,以突出當前選擇。

以下為引用的內容:

<style>

.checklist {

border: 1px solid #ccc;

list-style: none;

height: 10em;

overflow: auto;

width: 20em;

}.checklist, .checklist li { margin: 0; padding: 0; }

.checklist label {

display: block;

padding: 0 0.2em 0 25px;

text-indent: -25px;

}

.checklist label:hover { background: #777; color: #fff; }

* html .checklist label { height: 1%; }

</style>

至于JavaScript,你基本上只希望建立一個等同于常規多選列表框的URL。以上面的多選列表框為例,其查詢字符串如下:

?favorites=Wendys&favorites=KFC

那就是我們希望仿效的地方。這段腳本只是利用外觀(form)對象,循環所有檢驗欄(checkbox)的thru looking,并為那些選中的項目建立URL。很明顯,這段腳本只應用于所有檢驗欄元素都位于新多選列表框的情況。

以下為引用的內容:

<script type="text/javascript">

function submitForm(f) {

var cb = f.getElementsByTagName("input");

var favorites = "favorites=";

var isFirst = true;for (var i = 0; i < cb.length; i++) {

var curr = cb[i];

if (curr.type == "checkbox") {

// window.alert(curr.name + ": " + curr.type);

if (curr.checked) {

if (isFirst) {

favorites = "favorites=" + curr.name;

isFirst = false;

} else {

favorites = favorites + "&favorites=" + curr.name;

}

}

}

}

window.location = f.action + "?" + favorites;

}

</script>

最后,經過簡單改進的新多選列表框的代碼如下:

以下為引用的內容:

<form method="get" action="">

<b>Check your favorite fast food:</b><br/>

<ul class="checklist">

<li><label><input type="checkbox" name="McDonalds" /><b>McDonalds</b><br/>I'm lovin' it</label></li>

<li><label><input type="checkbox" name="BurgerKing" /><b>Burger King</b><br/>Have it your way</label></li>

<li><label><input type="checkbox" name="Wendys" /><b>Wendy's</b><br/>Always fresh, never frozen</label></li>

<li><label><input type="checkbox" name="JackInTheBox" /><b>Jack in the Box</b><br/>If it doesn't get all over the place, it doesn't belong in your face</label></li>

<li><label><input type="checkbox" name="KFC" /><b>KFC</b><br/>Finger lickin' good</label></li>

<li><label><input type="checkbox" name="TacoBell" /><b>Taco Bell</b><br/>Think outisde the bun</label></li>

</ul>

<input type="button" value="Choose" onclick="submitForm(this.form);">

</form>

不幸的是,TechRepublic網站大量應用CSS,因此當我在博客中試用這段樣本代碼時,它顯得非常難看。我可不希望為避免沖突而把代碼修改得一團糟——這里我只是努力想說明其中的基本理論。

因此,我在自己的個人網站上用這段代碼發布了一個簡單的文件,你可以通過它了解代碼的用法。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡阳市| 肃宁县| 防城港市| 陕西省| 宁陕县| 克拉玛依市| 漳平市| 永吉县| 宿松县| 怀化市| 肇东市| 阿拉尔市| 浏阳市| 蒙山县| 米脂县| 高州市| 渭南市| 集安市| 濉溪县| 北宁市| 荣成市| 磴口县| 灵丘县| 小金县| 通辽市| 京山县| 尉氏县| 肃宁县| 遵义县| 余江县| 金溪县| 托里县| 连南| 兰坪| 石林| 克拉玛依市| 抚州市| 南澳县| 将乐县| 东港市| 湘潭市|