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 ...
随机推荐
- 笔记-pyrhon-lib-requests
笔记-pyrhon-lib-requests 1. 简介 Requests is the only Non-GMO HTTP library for Python, safe for hum ...
- CodeForces 873D Merge Sort 构造 分治
题意 给出一个归并排序的算法\(mergesort\),如果对于当前区间\([l, r)\)是有序的,则函数直接返回. 否则会分别调用\(mergesort(l, mid)\)和\(mergesort ...
- 启动zookeeper报错:JAVA_HOME is not set
启动zookeeper时报错JAVA_HOME is not set 看了环境变量,确实配置好了,但是zookeeper竟然没找到 修改bin目录下的zkEnv.cmd关于jdk的一部分 set JA ...
- 剑指Offer - 九度1385 - 重建二叉树
剑指Offer - 九度1385 - 重建二叉树2013-11-23 23:53 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的 ...
- 《Cracking the Coding Interview》——第13章:C和C++——题目7
2014-04-25 20:18 题目:给定一个Node结构体,其中包含数据成员和两个Node*指针指向其他两个Node结构(还不如直接说这是个图呢).给你一个Node指针作为参数,请做一份深拷贝作为 ...
- 【Theory of Generalization】林轩田机器学习基石
紧接上一讲的Break Point of H.有一个非常intuition的结论,如果break point在k取到了,那么k+1, k+2,... 都是break point. 那么除此之外,我们还 ...
- python selenium 练习 自动获取豆瓣阅读当前特价书籍 chrome 元素定位 窗口切换 元素过期
豆瓣原创电子书每周推出数十本限时免费数目,一周免费期过后恢复原价.想着豆瓣原创书中有不少值得一看,便写了个脚本,免去一个个添加的烦恼. 使用了Windows下selenium+Python的组合,有较 ...
- sshd_config_for_centos
# $OpenBSD: sshd_config,v // :: djm Exp $ # This is the sshd server system-wide configuration file. ...
- 一步步精通NodeJs的简单实例
一步一步完成nodejs+express+mysql的简单实例开发 1.使用express创建简单web服务器 项目文件下安装express,这个不多说,很简单,直接在项目目录下运行 npm inst ...
- Python-有名匿名函数、列表推导式
介绍: 匿名函数: 匿名函数用lambda关键词能创建小型匿名函数.这种函数得名于省略了用def声明函数的标准步骤,节省开辟空间. 列表推导式: 有名函数 #1.有名函数(初始) def squ ...