如何在 JavaScript 中创建二级菜单274
在网站设计中,二级菜单通常用于为用户提供额外的导航选项,同时保持主导航菜单简洁明了。二级菜单在悬停或单击主导航项时显示。
使用 JavaScript 创建二级菜单的步骤如下:1. 创建 HTML 结构
首先,需要使用 HTML 创建主导航菜单和二级菜单:
```html
```
2. 添加 CSS 样式
接下来,使用 CSS 样式自定义主导航菜单和二级菜单的外观:
```css
#main-nav {
background-color: #000;
color: #fff;
}
#main-nav ul {
display: flex;
list-style-type: none;
margin: 0;
padding: 0;
}
#main-nav li {
margin-right: 10px;
}
#main-nav a {
color: #fff;
text-decoration: none;
padding: 10px;
}
#main-nav li:hover #sub-menu-1 {
display: block;
}
#sub-menu-1 {
display: none;
position: absolute;
background-color: #fff;
color: #000;
padding: 10px;
}
#sub-menu-1 li {
margin-bottom: 10px;
}
```
3. 编写 JavaScript
最后,使用 JavaScript 来处理二级菜单的显示和隐藏:
```javascript
const mainNav = ('main-nav');
('mouseover', (e) => {
const target = ('li');
if (!target) return;
const subMenu = ('ul');
if (!subMenu) return;
= 'block';
});
('mouseout', (e) => {
const target = ('li');
if (!target) return;
const subMenu = ('ul');
if (!subMenu) return;
= 'none';
});
```
4. 完整示例
将 HTML、CSS 和 JavaScript 片段组合在一起,得到完整的 JavaScript 二级菜单实现:
```html
#main-nav {
background-color: #000;
color: #fff;
}
#main-nav ul {
display: flex;
list-style-type: none;
margin: 0;
padding: 0;
}
#main-nav li {
margin-right: 10px;
}
#main-nav a {
color: #fff;
text-decoration: none;
padding: 10px;
}
#main-nav li:hover #sub-menu-1 {
display: block;
}
#sub-menu-1 {
display: none;
position: absolute;
background-color: #fff;
color: #000;
padding: 10px;
}
#sub-menu-1 li {
margin-bottom: 10px;
}
const mainNav = ('main-nav');
('mouseover', (e) => {
const target = ('li');
if (!target) return;
const subMenu = ('ul');
if (!subMenu) return;
= 'block';
});
('mouseout', (e) => {
const target = ('li');
if (!target) return;
const subMenu = ('ul');
if (!subMenu) return;
= 'none';
});
```
通过遵循这些步骤,可以轻松地在 JavaScript 中创建功能齐全的二级菜单,从而增强网站的导航体验。
2025-02-06
![脚本语言支持组件](https://cdn.shapao.cn/images/text.png)
脚本语言支持组件
https://jb123.cn/jiaobenyuyan/34008.html
![打造动态响应的 JavaScript 二级菜单:全面指南](https://cdn.shapao.cn/images/text.png)
打造动态响应的 JavaScript 二级菜单:全面指南
https://jb123.cn/javascript/34007.html
![如何在 Perl 中设置和使用 Virtualenv](https://cdn.shapao.cn/images/text.png)
如何在 Perl 中设置和使用 Virtualenv
https://jb123.cn/perl/34006.html
![Python 高端编程技巧揭秘:掌握核心技术,提升编码水平](https://cdn.shapao.cn/images/text.png)
Python 高端编程技巧揭秘:掌握核心技术,提升编码水平
https://jb123.cn/python/34005.html
![Perl for Beginners](https://cdn.shapao.cn/images/text.png)
Perl for Beginners
https://jb123.cn/perl/34004.html
热门文章
![JavaScript (JS) 中的 JSF (JavaServer Faces)](https://cdn.shapao.cn/images/text.png)
JavaScript (JS) 中的 JSF (JavaServer Faces)
https://jb123.cn/javascript/25790.html
![JavaScript 枚举:全面指南](https://cdn.shapao.cn/images/text.png)
JavaScript 枚举:全面指南
https://jb123.cn/javascript/24141.html
![JavaScript 逻辑与:学习布尔表达式的基础](https://cdn.shapao.cn/images/text.png)
JavaScript 逻辑与:学习布尔表达式的基础
https://jb123.cn/javascript/20993.html
![JavaScript 中保留小数的技巧](https://cdn.shapao.cn/images/text.png)
JavaScript 中保留小数的技巧
https://jb123.cn/javascript/18603.html
![JavaScript 调试神器:步步掌握开发调试技巧](https://cdn.shapao.cn/images/text.png)
JavaScript 调试神器:步步掌握开发调试技巧
https://jb123.cn/javascript/4718.html