`
jaesonchen
  • 浏览: 313102 次
  • 来自: ...
社区版块
存档分类
最新评论

jquery 和css 实现下拉菜单

阅读更多

第1步:HTML文档

首先为你的导航创建一个无序列表,然后简单的写一下另外一个无序列表作为导航子菜单

  1. <ul class="topnav">   
  2.     <li><a href="#">Home</a></li>   
  3.     <li>   
  4.         <a href="#">Tutorials</a>   
  5.         <ul class="subnav">   
  6.             <li><a href="#">Sub Nav Link</a></li>   
  7.             <li><a href="#">Sub Nav Link</a></li>   
  8.         </ul>   
  9.     </li>   
  10.     <li>   
  11.         <a href="#">Resources</a>   
  12.         <ul class="subnav">   
  13.             <li><a href="#">Sub Nav Link</a></li>   
  14.             <li><a href="#">Sub Nav Link</a></li>   
  15.         </ul>   
  16.     </li>   
  17.     <li><a href="#">About Us</a></li>   
  18.     <li><a href="#">Advertise</a></li>   
  19.     <li><a href="#">Submit</a></li>   
  20.     <li><a href="#">Contact Us</a></li>   
  21. </ul>  
<ul class="topnav">
    <li><a href="#">Home</a></li>
    <li>
        <a href="#">Tutorials</a>
        <ul class="subnav">
            <li><a href="#">Sub Nav Link</a></li>
            <li><a href="#">Sub Nav Link</a></li>
        </ul>
    </li>
    <li>
        <a href="#">Resources</a>
        <ul class="subnav">
            <li><a href="#">Sub Nav Link</a></li>
            <li><a href="#">Sub Nav Link</a></li>
        </ul>
    </li>
    <li><a href="#">About Us</a></li>
    <li><a href="#">Advertise</a></li>
    <li><a href="#">Submit</a></li>
    <li><a href="#">Contact Us</a></li>
</ul>

第2步:CSS

然后定义导航样式

 
  1. ul.topnav {   
  2.     list-stylenone;   
  3.     padding: 0 20px;   
  4.     margin: 0;   
  5.     floatleft;   
  6.     width920px;   
  7.     background#222;   
  8.     font-size: 1.2em;   
  9.     backgroundurl(topnav_bg.gif) repeat-x;   
  10. }   
  11. ul.topnav li {   
  12.     floatleft;   
  13.     margin: 0;   
  14.     padding: 0 15px 0 0;   
  15.     positionrelative/*--Declare X and Y axis base for sub navigation--*/  
  16. }   
  17. ul.topnav li a{   
  18.     padding10px 5px;   
  19.     color#fff;   
  20.     displayblock;   
  21.     text-decorationnone;   
  22.     floatleft;   
  23. }   
  24. ul.topnav li a:hover{   
  25.     backgroundurl(topnav_hover.gif) no-repeat center top;   
  26. }   
  27. ul.topnav li span { /*--Drop down trigger styles--*/  
  28.     width17px;   
  29.     height35px;   
  30.     floatleft;   
  31.     backgroundurl(subnav_btn.gif) no-repeat center top;   
  32. }   
  33. ul.topnav li span.subhover
  34.  {background-positioncenter bottombottomcursorpointer;} 
  35. /*--Hover effect for trigger--*/  
  36. ul.topnav li ul.subnav {   
  37.     list-stylenone;   
  38.     positionabsolute;
  39.  /*--Important - Keeps subnav from affecting main navigation flow--*/  
  40.     left: 0; top35px;   
  41.     background#333;   
  42.     margin: 0; padding: 0;   
  43.     displaynone;   
  44.     floatleft;   
  45.     width170px;   
  46.     border1px solid #111;   
  47. }   
  48. ul.topnav li ul.subnav li{   
  49.     margin: 0; padding: 0;   
  50.     border-top1px solid #252525/*--Create bevel effect--*/  
  51.     border-bottom1px solid #444/*--Create bevel effect--*/  
  52.     clearboth;   
  53.     width170px;   
  54. }   
  55. html ul.topnav li ul.subnav li a {   
  56.     floatleft;   
  57.     width145px;   
  58.     background#333 url(dropdown_linkbg.gif) no-repeat 10px center;   
  59.     padding-left20px;   
  60. }   
  61. html ul.topnav li ul.subnav li a:hover { /*--Hover effect for subnav links--*/  
  62.     background#222 url(dropdown_linkbg.gif) no-repeat 10px center;   
  63. }  
ul.topnav {
	list-style: none;
	padding: 0 20px;
	margin: 0;
	float: left;
	width: 920px;
	background: #222;
	font-size: 1.2em;
	background: url(topnav_bg.gif) repeat-x;
}
ul.topnav li {
	float: left;
	margin: 0;
	padding: 0 15px 0 0;
	position: relative; /*--Declare X and Y axis base for sub navigation--*/
}
ul.topnav li a{
	padding: 10px 5px;
	color: #fff;
	display: block;
	text-decoration: none;
	float: left;
}
ul.topnav li a:hover{
	background: url(topnav_hover.gif) no-repeat center top;
}
ul.topnav li span { /*--Drop down trigger styles--*/
	width: 17px;
	height: 35px;
	float: left;
	background: url(subnav_btn.gif) no-repeat center top;
}
ul.topnav li span.subhover {background-position: center bottom; cursor: pointer;}
 /*--Hover effect for trigger--*/
ul.topnav li ul.subnav {
	list-style: none;
	position: absolute; 
/*--Important - Keeps subnav from affecting main navigation flow--*/
	left: 0; top: 35px;
	background: #333;
	margin: 0; padding: 0;
	display: none;
	float: left;
	width: 170px;
	border: 1px solid #111;
}
ul.topnav li ul.subnav li{
	margin: 0; padding: 0;
	border-top: 1px solid #252525; /*--Create bevel effect--*/
	border-bottom: 1px solid #444; /*--Create bevel effect--*/
	clear: both;
	width: 170px;
}
html ul.topnav li ul.subnav li a {
	float: left;
	width: 145px;
	background: #333 url(dropdown_linkbg.gif) no-repeat 10px center;
	padding-left: 20px;
}
html ul.topnav li ul.subnav li a:hover { /*--Hover effect for subnav links--*/
	background: #222 url(dropdown_linkbg.gif) no-repeat 10px center;
}

第3步:jQuery

下面的脚本包含的内容解释了JQuery将要执行的的动作,你是jQuery新手?看这里.

 
  1. $(document).ready(function(){   
  2.   
  3.     $("ul.subnav").parent().append("<span></span>"); //Only shows drop down trigger when js is enabled

 (Adds empty span tag after ul.subnav*)   

  1.   
  2.     $("ul.topnav li span").click(function() { //When trigger is clicked...   
  3.   
  4.    //Following events are applied to the subnav itself (moving subnav up and down)   
  5.  $(this).parent().find("ul.subnav").slideDown('fast').show(); 
  6. //Drop down the subnav on click   
  7.   
  8.         $(this).parent().hover(function() {   
  9.         }, function(){   
  10.             $(this).parent().find("ul.subnav").slideUp('slow'); //When the mouse hovers out of the subnav, move it back up   
  11.         });   
  12.   
  13.         //Following events are applied to the trigger (Hover events for the trigger)   
  14.         }).hover(function() {   
  15.             $(this).addClass("subhover"); //On hover over, add class "subhover"   
  16.         }, function(){  //On Hover Out   
  17.             $(this).removeClass("subhover"); //On hover out, remove class "subhover"   
  18.     });   
  19.   
  20. });  
$(document).ready(function(){

	$("ul.subnav").parent().append("<span></span>"); 
//Only shows drop down trigger when js is enabled (Adds empty span tag after ul.subnav*)

	$("ul.topnav li span").click(function() { //When trigger is clicked...

//Following events are applied to the subnav itself (moving subnav up and down)
	$(this).parent().find("ul.subnav").slideDown('fast').show(); 
//Drop down the subnav on click

		$(this).parent().hover(function() {
		}, function(){
		$(this).parent().find("ul.subnav").slideUp('slow');
 //When the mouse hovers out of the subnav, move it back up
		});

		//Following events are applied to the trigger (Hover events for the trigger)
		}).hover(function() {
		$(this).addClass("subhover"); //On hover over, add class "subhover"
		}, function(){	//On Hover Out
	$(this).removeClass("subhover"); //On hover out, remove class "subhover"
	});

});

下拉菜单只是在支持javascript的的情况下才会显示并触发。

  • 大小: 12.5 KB
分享到:
评论

相关推荐

    jQuery&CSS图形下拉菜单

    本文将深入探讨如何使用jQuery和CSS来构建图形化的下拉菜单,这是一种常见的网页导航元素,能提高用户体验并使网站更具吸引力。 首先,jQuery是一个轻量级的JavaScript库,它简化了JavaScript编程,提供了丰富的API...

    Jquery + Css 实现横纵菜单下拉效果

    结合jQuery和CSS,我们可以轻松地创建出具有横纵切换效果的下拉菜单。这不仅可以提高用户界面的吸引力,还能提供更好的导航体验。通过理解这些基本原理,开发者可以进一步自定义菜单样式,实现更复杂的交互效果。在...

    js特效脚本含源码和说明jQuery&CSS图形下拉菜单

    这个"js特效脚本含源码和说明jQuery&CSS图形下拉菜单"的资源提供了实现这一功能的具体方法。下面我们将深入探讨这个主题。 首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理和动画效果。在创建...

    jQuery&CSS图形下拉菜单.zip

    本资源“jQuery&CSS图形下拉菜单.zip”提供了一种利用jQuery和CSS技术创建美观且功能丰富的下拉菜单的方法。这个压缩包包含了一系列文件,将帮助开发者了解如何将这两种强大的技术结合起来,为网站增添动态效果。 ...

    jQuery手机移动端弹窗下拉菜单选择代码.zip

    总结起来,这个jQuery手机移动端弹窗下拉菜单选择代码示例展示了如何利用jQuery和CSS创建交互式的下拉菜单。通过结合HTML结构、CSS样式和JavaScript事件处理,我们可以创建出符合移动设备用户习惯的交互组件。无论是...

    Jquery实现下拉菜单

    总结,通过结合HTML、CSS和jQuery,我们可以创建具有交互性和视觉吸引力的下拉菜单。在VS2008环境中,利用jQuery的事件处理和动画功能,可以轻松实现点击当前菜单项时关闭其他子菜单的效果。这只是一个基本的示例,...

    24、Jquery纯CSS3制作华丽网站下拉菜单

    本主题聚焦于使用jQuery和CSS3技术来创建华丽且功能丰富的网站下拉菜单。这两种技术的结合使得菜单不仅具有良好的视觉效果,还能够提供流畅的用户体验。 首先,我们来了解jQuery。jQuery是一个强大的JavaScript库,...

    jQuery和CSS3超酷二级下拉菜单特效插件

    本文将深入探讨一款基于jQuery和CSS3的超酷二级下拉菜单特效插件,这款插件能够为您的网站增添动态效果,提升用户界面的吸引力。 首先,jQuery是一个轻量级的JavaScript库,它简化了JavaScript的DOM操作、事件处理...

    jquery实现下拉菜单

    总结来说,利用jQuery实现下拉菜单的关键在于理解HTML结构、CSS样式以及jQuery提供的事件处理和动画方法。通过巧妙地组合这些元素,我们可以创建出响应式、交互性强的下拉菜单,为用户提供更好的浏览体验。在实际...

    20个最炫HTML5,jQuery和CSS3下拉菜单制作教程

    1. **纯CSS3下拉菜单**:通过CSS3的:hover伪类实现鼠标悬停时下拉菜单的显示,使用display属性控制菜单的可见性。 2. **渐变背景和边框动画**:利用CSS3的background-image渐变和border-radius属性,可以为菜单添加...

    jQuery多级下拉菜单支持多级下拉列表菜单.zip

    jQuery多级下拉菜单的核心在于利用CSS样式定义菜单结构,然后通过jQuery的事件监听和DOM操作来控制菜单的显示与隐藏。通常,这样的菜单由HTML的`&lt;ul&gt;`和`&lt;li&gt;`元素构成,通过嵌套实现多级结构。第一级菜单项是可见的...

    jQuery实现下拉菜单.

    jQuery,作为一个轻量级的JavaScript库,因其简洁的API和丰富的功能,常被用来实现动态效果,包括下拉菜单的创建。本教程将详细讲解如何使用jQuery来实现一个下拉菜单,以及相关的注意事项。 首先,我们需要了解...

    jQuery个性动画二级下拉导航菜单.rar

    这个项目利用了JavaScript库jQuery 1.8.3的强大力量,结合精心设计的动画效果,为用户提供了直观且吸引人的二级下拉菜单。 jQuery是一个轻量级、高性能的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax...

    jquery实现三级下拉菜单实例

    你可以通过查看这些文件,结合实际操作,更深入地理解和学习如何利用jQuery实现一个兼容各浏览器的三级下拉菜单。这个实例提供了一个良好的起点,你可以在此基础上进行定制,以满足特定的设计和功能需求。

    jQuery-实现多级下拉菜单支持多级下拉列表菜单.zip

    这个压缩包包含了一个完整的示例,包括HTML、CSS和JavaScript文件,你可以参考这些文件来学习和理解多级下拉菜单的实现。通过实践和修改这些代码,你可以根据自己的需求定制出满足各种复杂场景的下拉菜单系统。

    jquery+css 下拉菜单

    总结来说,创建一个jQuery+CSS下拉菜单主要涉及以下步骤: 1. 使用HTML构建菜单结构。 2. 通过CSS设置样式,隐藏子菜单,并在主菜单项悬停时显示子菜单。 3. 引入jQuery,编写JavaScript代码以实现动态效果和交互性...

    Jquery+CSS打造的滑动下拉菜单

    本篇将基于提供的文件内容来深入解析如何运用Jquery结合CSS来实现一个滑动效果的下拉菜单。 #### 文件结构概述 文件包含以下部分: 1. **HTML结构**:定义了菜单的基本结构。 2. **CSS样式**:为菜单添加样式。 3....

    jQuery+css静态下拉导航菜单

    2. **显示/隐藏**:使用`.show()`和`.hide()`方法控制下拉菜单的可见性,实现菜单的展开和收起。 3. **延迟与速度控制**:`.delay()`和`.fadeIn()/.fadeOut()`可以控制下拉菜单的显示和消失速度,增加用户体验。 4. ...

    jQuery树形多级下拉菜单.zip

    这个文件可能包含了HTML、CSS和JavaScript三个部分,展示了如何使用jQuery实现树形多级下拉菜单。开发者可以通过阅读和学习这个示例,理解并掌握相关技术,然后根据自己的需求进行定制和扩展。 六、总结 "jQuery树...

Global site tag (gtag.js) - Google Analytics