jQuery之导航菜单(点击该父节点时子节点显示,同时子节点的同级隐藏,但是同级的父节点始终显示)
注:对于同一个对象不超过3个操作的,可直接写成一行,超
过3个操作的建议每行写一个操作。这样可读性较强,可提高代码的可读性和可维护性
核心代码:
$(".has_children").click(function(){
$(this).addClass("highlight") //为当前元素增加highlight类
.children("a").show().end() //将子节点的<a>元素显示出来并重新定位到上次操作的元素
.siblings().removeClass("highlight")获取元素的兄弟元素,并去掉它们的highlight类
.children("a").hide();//将兄弟元素下的<a>元素隐藏
})
以上js代码的意思为:当点击含有class名为“has_children
”的节点时,其子节点元素“a”添加上类“highlight”并且
显示,同时该同辈元素“a”去掉class"highlight"并隐藏。
全部过程:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery的第一个demo</title>
<script src="js/jquery-2.1.1.min.js" rel="script"></script>
<style>
.menu{
width: 200px;
}
.has_children{
background: #f00;
color: yellow;
cursor: pointer;
}
.highlight{
background: #647787;
color: #f0f;
}
div{
padding: 0;
margin: 10px 0;
}
div a{
background: #1a272f;
color: #fff;
display: none;
width: 200px;
float: left;
}
</style>
<script>
$(document).ready(function () {
$(".has_children").click(function(){
$(this).addClass("highlight").children("a").show().end().siblings().
removeClass("highlight").children("a").hide();
})
}) </script>
</head>
<body>
<div class="menu">
<div class="has_children">
<span>第一个节点</span>
<a>子节点1</a>
<a>子节点2</a>
<a>子节点3</a>
<a>子节点4</a>
</div>
<div class="has_children">
<span>第二个节点</span>
<a>子节点1</a>
<a>子节点2</a>
<a>子节点3</a>
<a>子节点4</a>
</div>
<div class="has_children">
<span>第三个节点</span>
<a>子节点1</a>
<a>子节点2</a>
<a>子节点3</a>
<a>子节点4</a>
</div>
</div>
</body>
</html>
jQuery之导航菜单(点击该父节点时子节点显示,同时子节点的同级隐藏,但是同级的父节点始终显示)的更多相关文章
- jQuery弹性滑动导航菜单实现思路及代码
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <meta na ...
- jquery 滑块导航菜单
带滑块的导航菜单,鼠标悬浮时,滑块会移动至鼠标位置,离开时,滑块会回到原来的位置,点击菜单之后滑块会停留在被点击菜单位置,等待下一次的鼠标悬浮事件或者点击事件,效果图: 图片效果不行,直接上代码: & ...
- JQuery 实现导航菜单的高亮显示
需求是这样的 点击不同的导航菜单实现当前点击的菜单是高亮的,点击导航下面的某个分类,分类所属的导航也必须是高亮的,点击某一篇文章,文章所属的导航菜单也必须是高亮的. 网上说的思路是这样的: 在菜单层的 ...
- jQuery滑动导航菜单
js: $(function(){ $("ul.sub").parent().append("<span></span>"); $(&q ...
- 导航菜单点击图片切换--jquery
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 用js实现导航菜单点击切换选中时高亮状态
随着用户点击导航或菜单上不同的页面,出现此选项高亮显示或变为一个新的样式是经常用到的.实现它所用的原理就是通过js中的location.href得到当前页面的地址,然后在与导航上的链接地址匹对,相同的 ...
- jquery 树形导航菜单无限级
转自:http://www.jb51.net/article/71615.htm 侵删<!DOCTYPE html> <html lang="en"> &l ...
- 用js实现超链接导航菜单点击切换选中时的状态
项目中使用到点解导航切换不同的颜色,如果只是li选项卡还好办,这次用到的超链接选项卡,因为a链接每次点击都会刷新,所以浏览器记不住点击的状态,也没法切换点击状态,因为项目中有好多地方要用到,在网上找了 ...
- jQuery 浮动导航菜单(购物网站商品类型)
单页面网页内容较多,页面长度较大,需要方便快速的在页面的不同位置进行定位,所以浮动菜单逐渐流行了起来,如下图 男装.女装.美妆等. 这种菜单功能分为两部分: 1.点击菜单项,网页滚动到对应位置,可简单 ...
随机推荐
- #6284. 数列分块入门 8(区间询问等于一个数 cc 的元素,并将这个区间的所有元素改为 c)
题目链接:https://loj.ac/problem/6284 题目大意:中文题目 具体思路:还是和sqrt那个题的思路相同的,标记每一块的值是不是相同的,注意lazy下标的下放. AC代码: #i ...
- Thymeleaf--:fragment
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" ...
- Setup Objective UI with UMG
创建UI蓝图控件 拖入一个文本框 新建一个Actor,继承自FPSHUD 创建控件,并显示到界面上 新建一个Actor,继承FPSGameMode 将属性里的HUD更改为之前创建的 在世界设置中,将G ...
- invalidate和requestLayout
Invalidate:To farce a view to draw,call invalidate().——摘自View类源码从上面这句话看出,invalidate方法会执行draw过程,重绘Vie ...
- MySql 在cmd下的学习笔记 —— 有关多表查询的操作(内连接,外连接,交叉连接)
mysql> create table test5( -> id int, ) -> )engine myisam charset utf8; Query OK, rows affe ...
- 贝叶斯优化(Bayesian Optimization)深入理解
目前在研究Automated Machine Learning,其中有一个子领域是实现网络超参数自动化搜索,而常见的搜索方法有Grid Search.Random Search以及贝叶斯优化搜索.前两 ...
- 20165231 2017-2018-2 《Java程序设计》第7周学习总结
教材学习内容总结 第十一章 MySQL数据库管理系统,简称MySQL,是世界上最流行的开源数据库管理系统,其社区版(MySQL Community Edition)是最流行的免费下载的开源数据库管理系 ...
- 【SVN】SVN初识
SVN 介绍 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Sub ...
- Linux中目录proc/net/dev详解【转】
转自:https://blog.csdn.net/yzy1103203312/article/details/77848192 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- boost 实现http断点续传
// testc.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...