原生javascript学习:百度输入法下拉菜单

今天用 javascript 实现了百度输入法下拉菜单

demo:http://cssplusplus.com/demo/js/2_1_baiduInput0.html

源代码:

<!DOCTYPE html>
<html>
<head>

<style>
*{margin:0px;padding:0px;}
#outer{width:70px;margin:10px auto;font:12px/1.5 Tohoma;}
#menu li{list-style-type:none; }
li#close{border-top:1px solid #9A99FF;}
#menu{margin:6px 0px;border:1px solid #9A99FF;width:68px;display:none;}
#menu li a{text-decoration:none;display:block;color: #0000CC;padding:4px 4px;}
#menu li a:hover{background:#D9E1F6;;}


</style>

<script>
window.onload = function() {
	var obtn = document.getElementsByTagName("button")[0];
	var omenu = document.getElementById("menu");
	omenu.style.display = "none";
	obtn.onclick = function() {
		if (omenu.style.display == "none") {
			omenu.style.display = "block";
		} else {
			omenu.style.display = "none";
		}
	}
}
</script>

</head>
<body>
	<div id="outer">
		<button>输入法</button>
	<ul id="menu">
		<li><a href="#">手写</a></li>
		<li><a href="#">拼音</a></li>
		<li id="close"><a href="#">关闭</a></li>
	</ul>
	</div>
</body>
</html>

注意如果没有21行的语句:

omenu.style.display = "none";

omenu.style.display将会等于空值,这时点击button,第一次if判定将是false,进入else的语句,使omenu.style.display = "none"。换言之,必须在首次点击时,点击两次,才能使menu出现。

其实在 javascript 中,对对象使用style方法,不会修改css里样式,但可以以最高优先级刷新样式。

你可能感兴趣的:(原生javascript学习:百度输入法下拉菜单)