jquery如何做导航菜单栏点击更换body背景色(防刷新)
时间: 2023-07-18 18:04:56 浏览: 48
可以通过以下步骤来实现:
1. 给每个导航菜单项添加一个自定义属性,如"data-color",用于保存对应的背景色值。
2. 使用jQuery的click事件监听每个导航菜单项的点击事件。
3. 在点击事件中获取当前导航菜单项的"data-color"属性值,并使用jQuery的css方法修改body元素的背景色。
4. 使用HTML5的本地存储localStorage保存当前选中导航菜单项的索引。
5. 在页面加载时,读取localStorage中保存的索引值,并设置对应导航菜单项为选中状态,并修改body元素的背景色。
下面是示例代码:
HTML代码:
```html
<nav>
<ul>
<li data-color="#f00">Red</li>
<li data-color="#0f0">Green</li>
<li data-color="#00f">Blue</li>
</ul>
</nav>
```
jQuery代码:
```js
$(function() {
var $navItems = $('nav li');
var $body = $('body');
// 点击导航菜单项
$navItems.click(function() {
var color = $(this).data('color');
$body.css('background-color', color);
// 保存选中导航菜单项的索引
localStorage.setItem('selectedNavIndex', $(this).index());
});
// 页面加载时
var selectedIndex = localStorage.getItem('selectedNavIndex');
if (selectedIndex !== null) {
$navItems.eq(selectedIndex).addClass('selected');
$body.css('background-color', $navItems.eq(selectedIndex).data('color'));
}
});
```
CSS代码:
```css
nav li.selected {
background-color: #ccc;
}
```