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 ...
随机推荐
- 10.2 ajax
Ajax Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互 ...
- 网络编程介绍(uninx/windows)
1.网络中进程之间如何通信? 2.Socket是什么? 3.socket的基本操作 3.1.socket()函数 3.2.bind()函数 3.3.listen().connect()函数 3.4.a ...
- BZOJ [Poi2012]Fibonacci Representation
找最近的数 记忆化 (我也不知道为什么对的) #include<cstdio> #include<algorithm> #include<map> using na ...
- Installation error: INSTALL_FAILED_CANCELLED_BY_USER
我的手机本来是支持Androidstadio 调试手机的,我手机小米的,后来,系统升级了,我也没在意,第二天上班,已运行就报错: Installation error: INSTALL_FAILED_ ...
- vue-cli 引入axios
写文章注册登录 首页 下载App × vue-cli 引入axios及跨域使用 星球小霸王 关注 2017.10.04 16:40* 字数 504 阅读 13038评论 2喜欢 18 使用 c ...
- USACO Section1.3 Mixing Milk 解题报告
milk解题报告 —— icedream61 博客园(转载请注明出处)----------------------------------------------------------------- ...
- Django 运行 端口被占用 Error: That port is already in use
本来运行项目:python manage.py runserver 8000 发现运行到结果报错: Error: That port is already in use 首先查看已存在端口号列表: $ ...
- python小结
c:\python33添加到你的PATH 环境变量中,你可以在DOS 窗口中 输入以下命令:set path=%path%;C:\python33 id() 方法的返回值就是对象的内存地址. 在#! ...
- Entity Framework(三)---FluentAPI和增删查改
一.FluentAPI: 1.基本配置: namespace ConsoleApp14.ModelConfig { public class PersonConfig: EntityTypeConfi ...
- Python全栈工程师(列表、拷贝)
ParisGabriel 感谢 大家的支持 你们的阅读评价就是我最好的更新动力 我会坚持吧排版做的越来越好 每天坚持 一天一篇 点个订阅吧 灰常感谢 当个死粉也阔以 Py ...