JQuery实现多个菜单的显示隐藏
(如有错敬请指点,以下是我工作中遇到并且解决的问题)
效果图 :

可以通过 https://littlehiuman.github.io/07-menus/ 查看效果。
https://github.com/littleHiuman/littleHiuman.github.io 求点star~~~
点击各个菜单(自助餐、中山二三路、智能排序)会显示/隐藏二级菜单(二级菜单可能既有左侧内容也有右侧内容(三级菜单),也可能只有左侧内容)
CSS:
* {
margin:;
padding:;
}
li {
list-style: none;
}
.menu {
width: 100%;
height: 20px;
background: #fff;
border-bottom: 1px solid #ddd;
overflow: hidden;
padding: 8px 0;
}
.menu_con {
text-align: center;
border-right: 1px solid #ddd;
width: 33%;
height: 20px;
line-height: 20px;
float: left;
cursor: pointer;
}
.menu_fon:last-child {
border-right: none;
}
.menu_title {
font-size: 14px;
}
.pop_wrap {
display: none;
position: fixed;
top: 37px;
left:;
background: rgba(0, 0, 0, 0.5);
width: 100%;
height: 100%;
clear: both;
}
.pop_left,
.pop_right {
position: absolute;
height: 150px;
overflow: auto;
}
.pop_left {
background: #fff;
left:;
width: 40%;
}
.pop_right {
background: #ddd;
left: 40%;
width: 60%;
}
.pop_wrap li {
line-height: 30px;
padding-left: 20px;
border-bottom: 1px solid #eee;
}
.pop_wrap li.active {
color: #6ab494;
}
.pop_right li.active {
background: #eee;
}
HTML:
<div class="menu">
<div class="menu_con menu_type" onclick="showhide(0)">
<span class="menu_title">自助餐</span>
</div>
<div class="menu_con menu_position" onclick="showhide(1)">
<span class="menu_title">中山二三路</span>
</div>
<div class="menu_con menu_sort" onclick="showhide(2)">
<span class="menu_title">智能排序</span>
</div>
</div>
<div class="pop_wrap">
<ul class="pop_left"></ul>
<ul class="pop_right"></ul>
</div>
JAVASCRIPT:
var current = ''
function showhide(sth) {
var data = [
{
left: ['全部分类', '美食', '电影', '美食', '摄影', '摄影'],
right: ['全部', '经济型', '经济型', '经济型', '经济型', '经济型']
},
{
left: ['全部分类', '番禺区', '电影', '美食', '摄影', '摄影'],
right: ['全部', '经济型', '经济型', '经济型', '经济型', '经济型']
},
{
left: ['智能排序', '好评优先', '离我最近', '人均最低', '摄影', '摄影'],
right: []
}
]
var popWrap = document.querySelector('.pop_wrap')
var popLeft = document.querySelector('.pop_left')
var popRight = document.querySelector('.pop_right')
popLeft.innerHTML = setData(data[sth].left)
popRight.innerHTML = setData(data[sth].right)
if (popWrap.style.display == 'block') {
if (sth == current) {
popWrap.style.display = 'none'
} else {
current = sth
}
} else {
current = sth
popWrap.style.display = 'block'
}
}
function setData(data) {
var str = ''
if (data.length) {
for (var i = 0; i < data.length; i++) {
str += `<li ${i == 0 ? "class='active'" : ''}>${data[i]}</li>`
}
}
return str
}
JQuery实现多个菜单的显示隐藏的更多相关文章
- jquery 实现 <imput>标签 密码框显示/隐藏密码功能
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 < ...
- 多个div独立控制其显示/隐藏
今天要说一个神奇的html标签op,静态页下可以配合jquery分别控制每个层的显示/隐藏切换. 如果用动态中使用,用文章id做区分就可以了. <html> <head> &l ...
- 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果
查看本章节 查看作业目录 需求说明: 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果 用户将光标移动到"最新动态页"或"帮助查询" ...
- jQuery实现菜单点击隐藏(上下左右)
canrun <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- 基于jquery封装通用的控制显示隐藏的方法
应用场景 在项目中会存在大量这样的需求: 1.选择不同的radio单选框,页面上的部分内容随之显示隐藏 2.选择不同的option下拉框内容,页面上的部分内容随之显示隐藏 如果每次遇到这类需求都单独写 ...
- 用jQuery做一个三级菜单,鼠标移动到二级菜单的选项上,然后再迅速离开后,当鼠标再移动到该一级菜单或其他二级菜单选项,三级菜单也会显示。
用jQuery做一个三级菜单,鼠标移动到二级菜单的选项上,然后再迅速离开后,当鼠标再移动到该一级菜单或其他二级菜单选项,三级菜单也会显示. 原因:在为一个元素绑定hover事件之后,用户把光标移入元素 ...
- jQuery hover事件鼠标滑过图片半透明标题文字滑动显示隐藏
1.效果及功能说明 hover事件制作产品图片鼠标滑过图片半透明,标题文字从左到右滑动动画移动显示隐藏 2.实现原理 首先把效果都隐藏,然后定义一个伪类来触发所有的效果,接下来当触发伪类后会有一个遍历 ...
- Jquery一个slideToggle搞定div的隐藏与显示
Jquery一个slideToggle搞定div的隐藏与显示 <!DOCTYPE html> <html> <head> <script src=" ...
- js和jquery实现显示隐藏
(选择的重要性) 当点击同一个按钮的时候实现显示影藏 <a id="link" class="b-btn-four task-resolve add-sub-tas ...
随机推荐
- EF实体部分更新的问题
之前遇到只更新部分的问题:如前端修改用户信息(不修改密码),传实体到后台,这个实体是没有密码,这样一来要更新的话,得先去数据库通过传过来的实体的ID读取这条记录,然后将改动的部分填到查出来的记录中,再 ...
- 万年历Calendar、js修改日期
//万年历 Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE,-1); //改变日期,改变年份.月份类似 SimpleDateF ...
- Python 3基础教程10-全局变量和局部变量
本文来讲讲全局变量和局部变量,前面学习了函数的基本使用,所以,这里就要注意变量的使用和访问权限. 试试下面的demo.py
- json序列化datetime类型数据
错误描述: import jsonimport datetime a = datetime.datetime.now()print(a) b = json.dumps(a)print(b) 如上代码, ...
- Python导出sql语句结果到Excel
本文档是因为每周需要统计线上数据库中客户新增资源,手动执行实在是麻烦,就写了个脚本导出到Excel,顺便发一封邮件. (当然这不是线上的真实脚本,不过根据个人需求稍微修改下,还是可以直接用的.拿去不谢 ...
- input()报错:TypeError: '>=' not supported between instances of 'str' and 'int'
今天学习python基础—分支与循环,接触到了if.在练习一个if语句的时候,出现了错误. 题目是: 根据分数划分成四个级别:优秀.良好.及格.不及格,分数是72: grade = 72if grad ...
- NGUI-Tweens
Tweens(补间动画) 补间动画有很多种: 这里以Tween Height为例: 项目层次: btn为一个按钮,group为一组图片精灵,预览图如下: 第一步:先为每个item附加一个Tween H ...
- PHP 比较运算符 var_dump("a" == 0) 为 true
这篇文章主要讲解一下 PHP 使用比较运算符容易出错的地方 $a == $b 等于 TRUE,如果类型转换后 $a 等于 $b.$a === $b 全等 TRUE,如果 $a 全等于 $b,并且它们的 ...
- (原)DirectX11 深度测试(有点另类)
(问到自己清楚就可) @Author: 白袍小道 @说明:转载随缘,评论随缘,询问建议看书和源码会得到更准确的答案 深度测试的来源.目的.做法 一.问题询问 我们带着一些问题去浏览一番 1.深度测试发 ...
- Rational Rose 使用技巧
1.浏览区 2.菜单项 其中Format选项中: 决定各项是否显示,也可以通过右击-option选择 3.常用快捷键: F1:任何时候都可以按F1获得相关帮助,把鼠标放在某条菜单上按F1可以获得这条菜 ...