jquery实现无限分级横向导航菜单的方法
本文实例讲述了jquery实现无限分级横向导航菜单的方法。分享给大家供大家参考。具体实现方法如下:
1.jquery插件版本代码如下:
(function($){
$.fn.extend({
droplinemenu:function(configs){
varconfigs=$.extend({
over:200,
out:100,
rightdown:'css/down.gif'
},configs||{});
this.find(">ul").addClass("dropmenu");
this.find("ulli:has(ul)").addClass('hasmenu').find(">a").append("<imgclass='downarrowclass'src='"+configs.rightdown+"'>");
varcurrentobj;
return$('li.hasmenu').hover(function(){
if($.browser.msie){//清除ie下生成的overflow:hidden
$(this).parent("ul").css({'overflow':'visible'});
}
$(this).find(">ul").stop(true,true).css('top',$(this).height()).slideDown(configs.over);
},function(){
$(this).find(">ul").stop(true,true).slideUp(configs.out);
});
}
});
})(jQuery);2.样式代码
*{margin:0;padding:0}
.droplinebar{
position:absolute;
z-index:20;
width:700px;
}
.droplinebarul.dropmenu{
position:relative;
}
.droplinebarul{
width:100%;
float:left;
font:bold13pxArial;
background:#242c54url(bluedefault.gif)centercenterrepeat-x;/*defaultbackgroundofmenubar*/
}
.droplinebarulli{
float:left;
}
.droplinebarulul{
width:700px;
display:none;
z-index:100;
position:absolute;
left:0;
background:#303c76;
zoom:1;
}
.droplinebarullia{
float:left;
color:white;
padding:9px11px;
text-decoration:none;
display:block;
}
.droplinebarulli.hasmenuaimg{border:none;margin-left:5px;}
.droplinebarullia:hover,.droplinebarulli.current{/*backgroundofmainmenubarlinksonMouseover*/
color:white;
background:transparenturl(blueactive.gif)centercenterrepeat-x;
}
/*Sublevelmenulinksstyle*/
.droplinebarulliullia{
font:normal13pxVerdana;
padding:6px;
padding-right:8px;
margin:0;
border-bottom:1pxsolidnavy;
}
.droplinebarulliullia:hover{/*submenulinks'backgroundcoloronMouseover*/
background:#242c54;
}3.HTML代码如下
<linkrel="stylesheet"type="text/css"href="css/droplinebar.css"/>
<scripttype="text/javascript"src="js/jquery.min.js"></script>
<scriptsrc="js/droplinemenu.js"type="text/javascript"></script>
<scripttype="text/javascript">
$(document).ready(function(){
$("#mydroplinemenu").droplinemenu();
});
</script>
<divid="mydroplinemenu"class="droplinebar">
<ul>
<li><ahref="http://www.dynamicdrive.com/">Home</a></li>
<li><ahref="http://www.dynamicdrive.com/style/">CSSExamples</a>
<ul>
<li><ahref="#">Activities1</a></li>
<li><ahref="#">Activities2</a></li>
<li><ahref="#">Activities3</a>
<ul>
<li><ahref="#">WaterSports1</a></li>
<li><ahref="#">WaterSports1</a></li>
<li><ahref="#">WaterSports1</a></li>
<li><ahref="#">WaterSports1</a></li>
</ul>
</li>
<li><ahref="#">Activities4</a></li>
</ul>
</li>
<li><ahref="http://tools.dynamicdrive.com">Tools</a></li>
<li><ahref="http://www.javascriptkit.com/">JavaScript</a>
<ul>
<li><ahref="#">Traveling1</a></li>
<li><ahref="#">Traveling2</a></li>
<li><ahref="#">Traveling3</a></li>
<li><ahref="#">Traveling4</a>
<ul>
<li><ahref="#">Africa1</a></li>
<li><ahref="#">Africa2</a></li>
<li><ahref="#">Africa3</a></li>
<li><ahref="#">Africa4</a>
<ul>
<li><ahref="#">Kenya1</a></li>
<li><ahref="#">Kenya2</a></li>
<li><ahref="#">Kenya3</a></li>
<li><ahref="#">Kenya4</a></li>
<li><ahref="#">Kenya5</a></li>
</ul>
</li>
</ul>
</li>
<li><ahref="#">Traveling5</a></li>
</ul>
</li>
<li><ahref="http://www.cssdrive.com">Gallery</a></li>
</ul>
</div>4.无插件版本代码:
$(document).ready(function(){
varconfigs_over=200,configs_out=100;
$("#mydroplinemenu").find(">ul").addClass("dropmenu").find("li:has(ul)").addClass('hasmenu').find(">a").append("<imgclass='downarrowclass'src='css/down.gif'>");
$('.dropmenuli.hasmenu').hover(function(){
if($.browser.msie){//清除ie下生成的overflow:hidden
$(this).parent("ul").css({'overflow':'visible'});
}
$(this).find(">ul").stop(true,true).css('top',$(this).height()).slideDown(configs_over);
},function(){
$(this).find(">ul").stop(true,true).slideUp(configs_out);
});
});
希望本文所述对大家的jQuery程序设计有所帮助。