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 ...
随机推荐
- 財務会計関連(FI&CO)
[財務会計伝票]FB01: 登録FB02: 伝票変更FB09: 明細変更FB03: 照会FB04: 変更履歴照会FB08: 反対仕訳FB05: 消込転記FB50: G/L勘定伝票一般転記FB1S: 勘 ...
- Samba和NFS文件共享
SAMBA文件共享服务 通过Yum软件仓库来安装Samba服务程序 [root@zhangjh ~]# yum install samba -y Samba 配置文件注释信息较多,为了便于配置,因此先 ...
- gVim的 设置
在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格)set expandtab TAB替换为空格::set ...
- spark发现新词
package com.icklick.spark.wordSegment import org.apache.log4j.{ Level, Logger } import org.apache.sp ...
- 转载: keepalived工作原理和配置说明
转自:http://outofmemory.cn/wiki/keepalived-configuration keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件, ...
- 网页图片很多时,加载完后再加载图片(defer:延迟加载)
图片影响页面加载速度,可以先加载完页面,再去加载图片. defer:告诉浏览器,这里面的js代码不影响网页脚本解析,可以解析完html脚本再执行这段js代码(个人理解). 网页代码:<img s ...
- APPIUM-----自动发现兼容的Chromedrivers
使用Appium Desired Capabilities:chromedriverExecutableDir chromeDriver所有版本下载路径:https://chromedriver.st ...
- RAID介绍和实现
RAID的全称是廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),于1987年由美国Berkeley 大学的两名工程师提出的. RAID出现的,最初目的是将 ...
- leetcode 179. 最大数 解题报告
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: 输出结果 ...
- android DOM解析Xml
文章转自:http://blog.sina.com.cn/s/blog_a661f16c0101d5qp.html People类是自己写的一个类,主要保存各个字符串数据. 由于没学过Xml语法只 ...