二種方式:下拉框里面選項有圖片與沒有圖片
1.用下拉框寫 下拉框的option沒法添加圖片如果下拉框里面不需要圖片可以用這種方式。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
img{
width:25px;
}
</style>
</head>
<body>
<img src="img/index.png"/>
<select >
<option value="img/index.png">首頁</option>
<option value="img/logo.png">動漫</option>
<option value="img/select.png">電影</option>
<option value="img/loading.gif">博客</option>
</select>
<script>
var main=document.querySelector("select");
var img=document.querySelector("img");
main.onchange=function(){
img.setAttribute("src",this.value);
}
</script>
</body>
</html>
2.用列表模擬下拉框 下拉框里面需要圖片可以用這種方式。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{
margin: 0;
padding: 0;
}
.box{
width: 250px;
}
.box-item{
height: 50px;
line-height: 50px;
}
.box-item img{
width: 25px;
vertical-align: middle;
}
ul{
display: none;
width: 100%;
list-style: none;
}
li{
height: 30px;
line-height: 30px;
}
li:hover{
background: #FFC0CB;
}
li img{
width:25px;
vertical-align: middle;
}
</style>
</head>
<body>
<div class="box">
<div class="box-item">
<img src="img/index.png"/>
請選擇
</div>
<ul>
<li>
<img src="img/index.png"/>
首頁
</li>
<li>
<img src="img/logo.png"/>
首頁1
</li>
<li>
<img src="img/index.png"/>
首頁2
</li>
</ul>
</div>
<script>
var ul = document.querySelector("ul");
var boxContent = document.querySelector(".box-item");
//點擊下拉框顯示並阻止冒泡,防止觸發document上寫的隱藏下拉框函數
boxContent.onclick = function(e) {
var e = e || window.event;
ul.style.display = "block";
e.stopPropagation();
};
//選擇選項替換你內容,並隱藏
for(var i=0;i<li.length;i++){
li[i].onclick=function(){
boxContent.innerHTML =this.innerHTML;
ul.style.display = "none";
}
}
//點擊document隱藏下拉框 選擇框顯示但不做選擇時點擊頁面選擇框隱藏
document.onclick = function() {
ul.style.display = "none";
}
</script>
</body>
</html>
