<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>JQuery菜单</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="css/menu.css">
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script language="javascript">
$(document).ready(function(){
//查找所有主菜单
//$(".main > a,.hmain > a").click(function(){
$(".main > a").click(function(){
//当前菜单已经展开,取消确事件
if($(this).css("background-image").indexOf("expanded.gif")>=0){
changeIcon($(this));//改变左边的图标
var ulNode = $(this).next("ul");
ulNode.slideToggle();
return;
}
//把其它展开的都关闭
$(".main >a ").each(function(index){
if($(this).css("background-image").indexOf("expanded.gif")>=0){
changeIcon($(this));
var ulNode = $(this).next("ul");
//slideUp():通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。
ulNode.slideUp();
}
});
changeIcon($(this));//改变左边的图标
var ulNode = $(this).next("ul");
/*
if(ulNode.css("display")=="none"){
ulNode.css("display","block");
}else{
ulNode.css("display","none");
}
*/
//JQuery动画效果
//ulNode.show("slow");//slow,normal,fast
//ulNode.hide(300);
//ulNode.toggle("slow");
//ulNode.slideDown("normal");
//ulNode.slideUp();
//slideToggle():通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数
ulNode.slideToggle();
});
//hover:一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法
$(".hmain").hover(function(){
var liNode = $(this);
var aNode = liNode.children("a");
if(aNode.css("background-image").indexOf("collapsed.gif")>=0){
//延迟处理,防止用户不小心划动
timeoutid = setTimeout(function(){
changeIcon(aNode);
//slideDown():与slideUp()相反
liNode.children("ul").slideDown();
},300);
}
},function(){
clearTimeout(timeoutid);
var aNode = $(this).children("a");
if(aNode.css("background-image").indexOf("expanded.gif")>=0){
changeIcon(aNode);
$(this).children("ul").slideUp();
}
});
});
//改变当菜单项的background-image
function changeIcon(mainNode){
if(mainNode){//不为空
if(mainNode.css("background-image").indexOf("collapsed.gif")>=0){
mainNode.css("background-image","url(images/expanded.gif)");
}else{
mainNode.css("background-image","url(images/collapsed.gif)");
}
}
}
</script>
</head>
<body>
<div>
<ul>
<li class="main">
<a href="#">菜单项1</a>
<ul>
<li><a href="#">子菜单项11</a></li>
<li><a href="#">子菜单项12</a></li>
<li><a href="#">子菜单项13</a></li>
</ul>
</li>
<li class="main">
<a href="#">菜单项2</a>
<ul>
<li><a href="#">子菜单项21</a></li>
<li><a href="#">子菜单项22</a></li>
<li><a href="#">子菜单项23</a></li>
</ul>
</li>
<li class="main">
<a href="#">菜单项3</a>
<ul>
<li><a href="#">子菜单项31</a></li>
<li><a href="#">子菜单项32</a></li>
<li><a href="#">子菜单项33</a></li>
</ul>
</li>
</ul>
</div>
<br><br><br>
<hr width="80%">
<div>
<ul>
<li class="hmain">
<a href="#">菜单项1</a>
<ul>
<li><a href="#">子菜单项11</a></li>
<li><a href="#">子菜单项12</a></li>
<li><a href="#">子菜单项13</a></li>
</ul>
</li>
<li class="hmain">
<a href="#">菜单项2</a>
<ul>
<li><a href="#">子菜单项21</a></li>
<li><a href="#">子菜单项22</a></li>
<li><a href="#">子菜单项23</a></li>
</ul>
</li>
<li class="hmain">
<a href="#">菜单项3</a>
<ul>
<li><a href="#">子菜单项31</a></li>
<li><a href="#">子菜单项32</a></li>
<li><a href="#">子菜单项33</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
menu.css内容如下:
ul,li {
/**
* disc:CSS1实心圆
* circle:CSS1空心圆
* square:CSS1实心方块
* decimal:CSS1阿拉伯数字
* none:CSS1不使用项目符号
**/
list-style-type: none;
}
ul {
/**
* 检索或设置对象四边的补丁边距。
* 如果提供全部四个参数值,将按上-右-下-左的顺序作用于四边。
* 如果只提供一个,将用于全部的四条边。
* 如果提供两个,第一个用于上-下,第二个用于左-右。
* 如果提供三个,第一个用于上,第二个用于左-右,第三个用于下。
* 内联对象要使用该属性,必须先设定对象的height或width属性,或者设定position属性为absolute。
* 不允许负值。
**/
padding: 0px;
/**
* 检索或设置对象四边的外延边距。参数与padding一样
*/
margin: 0px;
}
.main,.hmain {
background-image: url(../images/title.gif);
/**
* background-repeat:设置或检索对象的背景图像是否及如何铺排。必须先指定对象的背景图像。
* repeat-x:背景图像在横向上平铺
* repeat-y:背景图像在纵向平铺
* repeat:背景图像在纵向和横向上平铺
* no-repeat:背景图像不平铺
**/
background-repeat: repeat-x;
width: 120px;
}
li{
background-color: #eeeeee;
}
a {
/**
* text-decoration:检索或设置对象中的文本的装饰。
* 有href特性的a,以及u,ins对象默认值为underline 。
* 对象strike,s,del,默认值是line-through。
* 没有文本的对象此属性不会作用。
* none:无装饰 blink:闪烁 underline:下划线 line-through:贯穿线 overline:上划线
**/
text-decoration: none;
/**
* padding-left:检索或设置对象左边的补丁边距。
*/
padding-left:20px;
/**
* display:设置或检索对象是否及如何显示。
* none: CSS1隐藏对象。与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间
* inline-block:元素呈现为内联对象,周围元素保持在同一行,但可以设置宽度和高度地块元素的属性
*/
display: inline-block;
width: 100px;
padding-top: 3px;
padding-bottom: 3px;
}
.main a,.hmain a {
color: white;
background-image: url(../images/collapsed.gif);
background-repeat: no-repeat;
/**
* 设置或检索对象的背景图像位置。必须先指定background-image属性。默认值为:(0% 0%)。
* 如果只指定了一个值,该值将用于横坐标。纵坐标将默认为50%。第二个值将用于纵坐标。
* 该属性定位不受对象的补丁属性(padding)设置影响。
**/
background-position: 3px center;
}
.main li a,.hmain li a {
color:black;
background-image: none;
}
.main ul,.hmain ul {
display: none;
}
.hmain {
/**
* float:该属性的值指出了对象是否及如何浮动
* none:对象不浮动 left:对象浮在左边 right:对象浮在右边
**/
float: left;
margin-right: 1px;
}
- 描述: css中的padding,border,margin的区别
- 大小: 6.9 KB
分享到:
相关推荐
本资源“jquery横向下拉三级菜单效果”提供了一种高效的解决方案,利用jQuery库实现了一个流畅、美观的横向下拉三级菜单。下面我们将详细探讨这一技术实现及其应用。 jQuery是一个轻量级、功能丰富的JavaScript库,...
本篇将深入讲解如何利用jQuery实现一个功能完善的左侧下拉三级收缩菜单。 首先,让我们理解菜单的基本结构。在HTML中,我们通常会创建一个`<ul>`元素作为菜单的基础框架,每个层级的菜单项由`<li>`元素表示,一级...
本文将深入探讨jQuery实现的后台左侧三级导航菜单的原理和应用。 首先,jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画效果以及Ajax交互等任务。在构建后台导航菜单时,jQuery提供了丰富...
`jQuery EasyUI` 是一个基于 jQuery 的轻量级框架,它提供了丰富的组件和样式,简化了前端开发工作,包括创建复杂的界面如三级菜单导航。本文将深入探讨如何使用 `jQuery EasyUI` 实现这样的功能。 首先,我们要...
本实例"Jquery实例2:可收缩展开的级联菜单与局部刷新"聚焦于利用jQuery实现动态交互效果,特别是创建可折叠的级联菜单和页面的局部刷新功能。这些功能在现代网页设计中极为常见,可以提升用户体验,使网站更加直观...
**jQuery控制的卷帘菜单详解** 在Web开发中,用户界面的设计与交互是至关重要的,一个优秀的菜单系统能显著提升用户体验。"jQuery控制的卷帘菜单"就是一种常见且实用的交互元素,它允许用户通过点击来展开或收起...
在网页设计中,导航菜单是不可或缺的部分,尤其在大型网站中,为了清晰地展示大量信息层级,三级下拉菜单的应用非常普遍。本实例主要讲解如何使用jQuery库来创建一个兼容各浏览器、小巧实用的三级下拉菜单。jQuery以...
本篇文章将深入探讨jQuery菜单效果的实现方式,通过分析描述中的“三个不一样的效果”,来揭示其背后的原理和技术。 首先,一个基本的jQuery菜单通常由HTML结构、CSS样式和jQuery脚本组成。HTML负责构建菜单的基础...
**jQuery 网站导航级联菜单详解** 在网页设计中,导航菜单是至关重要的元素,它帮助用户轻松地在网站各个部分之间穿梭。而级联(或下拉)菜单则进一步增强了用户体验,特别是对于拥有多个层级内容的大型网站。在本...
这个"jQuery响应式导航菜单"提供了三种不同的样式,满足了设计师对视觉效果多样性的需求。这些样式可能包括颜色方案、字体、布局和过渡效果的差异。每种样式都可以根据项目的整体风格进行定制,以保持品牌一致性。 ...
本项目是“jQuery三级滑动菜单”,旨在利用JavaScript库jQuery创建一个灵活、易定制的多级导航菜单。下面将详细讲解这个项目的实现原理及关键知识点。 一、jQuery库的引入与基本使用 jQuery是一个轻量级的...
"Dropdown jQuery 鼠标经过展开菜单效果" 是一种常见的交互设计,通常用于导航菜单或者下拉选项。下面将详细解释这个主题中的关键知识点。 1. **jQuery库**:jQuery 是一个轻量级的JavaScript库,它通过提供简洁的...
jQuery多级下拉树状菜单是一种常见的网页交互元素,它允许用户通过展开和折叠的方式查看和操作层次结构的数据。在Web开发中,这种菜单通常用于导航、目录展示或复杂选项的组织。本教程将深入探讨如何使用jQuery实现...
总结来说,通过jQuery的hover事件和CSS样式,我们可以创建一个响应式且具有延迟关闭效果的三级导航菜单。这种菜单设计既提高了用户体验,也使得网站的导航结构更加清晰。在实际项目中,还可以根据需要进一步优化和...
在网页设计中,动态交互的菜单可以极大地提升用户体验,其中jQuery帘卷式菜单就是一种常见的交互效果。它以其优雅的动画效果和简单的实现方式深受开发者喜爱。本文将深入探讨jQuery帘卷式菜单的原理、实现步骤以及...
第三种效果:添加动画队列 1. 利用jQuery的`.animate()`方法,可以自定义更复杂的缓冲效果,如改变高度、透明度等。 2. 可以使用`.queue()`方法创建动画队列,按顺序执行多个动画效果,增强交互体验。 3. 结合`....
这个“jquery网站后台菜单效果”项目是利用jQuery来实现的一种后台管理界面中的菜单交互效果,旨在提供高效且用户体验良好的导航结构。 在网页设计中,后台管理系统(通常称为CMS或Content Management System)的...
- 鼠标悬停效果:对菜单项添加悬停效果,如放大、旋转或其他CSS3变换,增加交互体验。 了解和掌握这些jQuery动画技术,对于提升网页的动态性和互动性至关重要。在实际开发中,结合CSS3的动画和过渡效果,可以创造出...
在这个“jquery中左侧属性菜单和发光button案例”中,我们将深入探讨如何利用jQuery来创建一个动态的左侧属性菜单和具有发光效果的按钮。 首先,左侧属性菜单通常是一种常见的网页布局元素,用于展示网站或应用的...