一直纠结的菜单选中变色问题终于用Jquery实现了
8-14,以前曾今写过一个菜单选中变色,用的是js,写的比较繁琐,最后还没实现,留下阴影,今天终于用jquery实现了,具体也很简单,就当练笔了。
图是这样的,
看上去很粗糙。
主要就3段代码,CSS,html和javascript。
<!--CSS代码--> <style type="text/css"> ul { text-decoration: none; list-style-type: none; } ul li { width: 250px; } ul li div { padding-left: 2px; height: 30px; line-height: 30px; font-size: 14px; font-weight: normal; background-color: Gray; color: White; cursor: pointer; } ul li .div0 { font-size: 16px; font-weight: 800; } ul li .div0:hover { font-size: 18px; font-weight: 900; background-color: Silver; color: Green; } ul li .div1 { padding-left: 30px; } ul li .div1:hover { font-size: 16px; font-weight: 800; background-color: Silver; color: Green; } .div1Selected { font-size: 16px; font-weight: 800; background-color: Silver; padding-left: 30px; color: Green; } .div0Selected { font-size: 18px; font-weight: 900; background-color: Silver; color: Green; } .divMenu { float: left; margin: 5px 0 0 4px; } </style>
<!--html代码-->
<div class="divMenu">
<ul id="ulMenu">
<li>
<div id="div0" class="div0">
list-style-type:参数</div>
</li>
<li>
<div class="div1">
disc:圆形</div>
</li>
<li>
<div class="div1">
circle:空心圆</div>
</li>
<li>
<div class="div1">
square:方块</div>
</li>
<li>
<div class="div1">
decimal:十进制数字</div>
</li>
<li>
<div class="div1">
lower-roman:小写罗马数字</div>
</li>
<li>
<div class="div1">
upper-roman:大写罗马数字</div>
</li>
<li>
<div class="div1">
lower-alpha:小写希腊字母</div>
</li>
<li>
<div class="div1">
upper-alpha:大写希腊字母</div>
</li>
<li>
<div class="div1">
none:无符号显示</div>
</li>
</ul>
</div>
<!--javascript代码-->
<script type="text/javascript">
var ulMenuJQ = $("#ulMenu");
$("#ulMenu>li>div").each(function () {
var divJQ = $(this);
divJQ.bind("click", function () {
$("#ulMenu>li>div").each(function () {
var mm = $.trim($(this).attr("class"));
if (mm == "div0Selected") {
$(this).removeClass("div0Selected");
$(this).addClass("div0");
}
if (mm == "div1Selected") {
$(this).removeClass("div1Selected");
$(this).addClass("div1");
}
});
if ($.trim(divJQ.attr("class")) == "div1") {
divJQ.removeClass("div1");
divJQ.addClass("div1Selected");
}
if ($.trim(divJQ.attr("class")) == "div0") {
divJQ.removeClass("div0");
divJQ.addClass("div0Selected");
}
});
});
</script>
做完了,发现还是值得高兴的。
浙公网安备 33010602011771号