📜  jQuery UI |菜单(1)

📅  最后修改于: 2023-12-03 14:43:12.511000             🧑  作者: Mango

jQuery UI | 菜单

jQuery UI 是基于 jQuery 的一个扩展库,它为开发人员提供了许多简单易用的组件,其中之一便是菜单组件。通过 jQuery UI 菜单组件,开发人员可以快速轻松地创建一个菜单,并定制其样式与行为。

特点
  • 简单易用:开发人员只需在 HTML 中添加必要的标签与属性即可快速创建菜单。

  • 可定制性高:通过 CSS 样式表、JavaScript 代码等定制手段,开发人员可以完全掌控菜单的外观与行为。

  • 支持多级菜单:开发人员可以创建多级菜单,并根据实际需求自定义菜单的布局结构。

基本用法
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>jQuery UI | 菜单</title>
	<link rel="stylesheet" type="text/css" href="https://cdn.bootcdn.net/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
	<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
	<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
	<script type="text/javascript">
		$(function() {
			$( "#menu" ).menu();
		});
	</script>
</head>
<body>
	<ul id="menu">
		<li><a href="#">文件</a></li>
		<li><a href="#">编辑</a></li>
		<li>
			<a href="#">视图</a>
			<ul>
				<li><a href="#">全屏</a></li>
				<li><a href="#">放大</a></li>
				<li><a href="#">缩小</a></li>
			</ul>
		</li>
		<li><a href="#">帮助</a></li>
	</ul>
</body>
</html>
进阶用法
改变菜单样式

可以通过 CSS 样式表改变菜单的样式。如下所示:

#menu {
	border: 1px solid #ccc;
	background-color: #f1f1f1;
}

.ui-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ui-menu .ui-menu-item a {
	padding: 0.5em 1em;
	text-decoration: none;
	color: #333;
}

.ui-menu .ui-menu-item:hover,
.ui-menu .ui-menu-item:focus {
	background-color: #555;
	color: #fff;
}

.ui-menu .ui-state-active {
	background-color: #007acc !important;
	color: #fff !important;
}
定义菜单项的图标

可以通过在菜单项中添加自定义标签的方式来为菜单项定义图标。比如:

<ul id="menu">
	<li><a href="#"><i class="far fa-file"></i> 文件</a></li>
	<li><a href="#"><i class="far fa-edit"></i> 编辑</a></li>
	<li>
		<a href="#"><i class="far fa-eye"></i> 视图</a>
		<ul>
			<li><a href="#"><i class="fas fa-expand"></i> 全屏</a></li>
			<li><a href="#"><i class="fas fa-search-plus"></i> 放大</a></li>
			<li><a href="#"><i class="fas fa-search-minus"></i> 缩小</a></li>
		</ul>
	</li>
	<li><a href="#"><i class="far fa-question-circle"></i> 帮助</a></li>
</ul>

需要先引入相应的图标库,比如 Font Awesome:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
定义菜单项的事件

可以通过 jQuery 提供的事件方法为菜单项定义事件。比如:

$(function() {
	$( "#menu" ).menu({
		select: function(event, ui) {
			alert("您选中了 " + ui.item.children("a").text());
		}
	});
});

这段代码为菜单项添加了 select 事件,当用户选择一个菜单项时就会触发该事件,弹出一个提示框显示当前选中的菜单项。

支持的事件

| 事件名 | 描述 | |:-----|:---------| | blur | 当菜单失去焦点时触发 | | create | 当菜单被创建时触发 | | focus | 当菜单获得焦点时触发 | | select | 当用户选择一个菜单项时触发 |

总结

通过 jQuery UI 的菜单组件,可以轻松地创建一个自定义的菜单,并且能够完全掌控菜单的样式与行为,提高用户交互体验。