首页 > 代码库 > jquery css 主菜单样式的跳转
jquery css 主菜单样式的跳转
想要实现的效果其实是挺常见的那种:网页的主菜单一开始有一种默认的样式(如A样式),当鼠标经过某一菜单项时,此菜单项会套用一种样式(如B样式),当鼠标点击某一菜单项时,当前菜单项会套用B样式,其余菜单项会去掉B样式而套用默认的A样式。经过尝试,写出了比较简单的代码,存下来,以备后用。
html代码:
<div id="menuBar"> <ul> <li>Home</li> <li>Download</li> <li>Documentation</li> <li>Community</li> <li>Success Stories</li> <li>News</li> <li>Events</li> <li>About</li> </ul> </div>
css代码:
#menuBar { clear:both; width:1200px; margin:0 auto; color:#efefef; font-family:Arial; font-size:18px; } #menuBar ul { list-style:none; height:55px; margin:0px; padding:0px; } .beforeClick { float:left; width:150px; text-align:center; line-height:55px; height:55px; background-image:url(Welcome%20to%20Python.org_files/20141021190636.png); background-repeat:repeat-x; margin-top:10px; } .beforeClick:hover { background-color:3776ab; border:1px solid #aaa; height:53px; line-height:53px; width:148px; background-image:none; cursor:pointer; } .clickedMenu { background-color:3776ab; border:1px solid #aaa; height:53px; line-height:53px; width:148px; background-image:none; cursor:pointer; }
js代码:
<script> $(function(){ $("#menuBar ul li").each(function() { $(this).addClass("beforeClick"); // 最开始,让所有节点都加上beforeClick样式 }); }); $(function(){ $("#menuBar ul li").each(function(i) { $(this).click(function(){ $(this).siblings("li").removeClass("clickedMenu"); //让其余兄弟节点去掉clickedMenu样式,即点击后的菜单样式 $(this).siblings("li").addClass("beforeClick"); // 再让其余兄弟节点添加上点击前的样式beforeClick $(this).addClass("clickedMenu");// 给当前节点添加上clickedMenu样式。 }) }); }) </script>
效果图:
1、初始状态:
2、鼠标经过某一菜单项时的状态:
3、鼠标点击某一菜单后,并且鼠标经过其它菜单项时的状态:
3、当再次点击其它菜单时,样式继续发生变化:
jquery css 主菜单样式的跳转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。