javascript下拉式菜單在網站開發中是經常用到的一種交互方式。這種菜單的最大特點就是可以在較小的空間內呈現較多的選項。下面我們來詳細了解一下javascript下拉式菜單的原理及應用。
javascript下拉式菜單是通過利用HTML的
<html>
<head>
<script>
function showSelect() {
var selectBox = document.getElementById('selectBox');//獲取select對象
var selectedIndex = selectBox.selectedIndex;//獲取選中項的索引
var selectedText = selectBox.options[selectedIndex].value;//獲取選中項的值
alert("你選擇了" + selectedText);
}
</script>
</head>
<body>
<select id="selectBox" onchange="showSelect()">
<option value="0">---請選擇---</option>
<option value="1">選項1</option>
<option value="2">選項2</option>
<option value="3">選項3</option>
</select>
</body>
</html>
以上代碼中,<select>
標簽為下拉式菜單的外層容器,<option>
標簽則是下拉式菜單的選項。其中,value
屬性為選項的值,可以通過javascript獲取到選中選項的值。
除此之外,javascript下拉式菜單還可以實現多級下拉。例如,我們可以通過如下代碼來實現省市區三級聯動下拉式菜單。
<html>
<head>
<script>
function showSelect(parentNode, childNode) {
var parentSelect = document.getElementById(parentNode);
var childSelect = document.getElementById(childNode);
var index = parentSelect.selectedIndex;
childSelect.length = 1;
if (index == 0) {
return;
}
if (index == 1) {
for (var i = 0; i < city.length; i++) {
childSelect.options[i + 1] = new Option(city[i], i + 1);
}
} else {
var subCity = district[parentSelect.value];
for (var i = 0; i < subCity.length; i++) {
childSelect.options[i + 1] = new Option(subCity[i], i + 1);
}
}
}
</script>
</head>
<body>
<select id="province" onchange="showSelect('province', 'city')">
<option value="0">---請選擇---</option>
<option value="1">江蘇省</option>
<option value="2">浙江省</option>
</select>
<select id="city" onchange="showSelect('city', 'district')"></select>
<select id="district"></select>
</body>
</html>
以上代碼中,province
、city
和district
分別代表省、市、區三個下拉式菜單的容器。其中,showSelect()
函數實現了省市聯動和市區聯動的功能。需要指出的是,要實現多級下拉式菜單,我們需要將區域信息存在Javascript數組中。在示例代碼中,我們模擬了省市區的樹形結構實現了多級下拉式菜單。實際開發中,可以通過如jQuery等Javascript框架更方便地實現多級下拉式菜單。
總的來說,javascript下拉式菜單相對于其他交互方式來說,實現難度不大,適用性強。相信學習本文后,你也能夠自如地應用javascript下拉式菜單來實現豐富的交互效果。
上一篇vue緩存庫
下一篇css怎么設置首字下沉