js构建函数,点击按钮显示div,再点击按钮或其他区域,隐藏div
这只是一个例子,先看看效果:
html代码:
<nav>
<span class="nav_logo"></span>
<h1>云蚂客首页</h1>
<button class="nav_btn"></button>
<ul class="menu">
<li><a href="#">首页</a></li>
<li><a href="#">联系客服</a></li>
<li><a href="#">联系客服</a></li>
<li><a href="#">联系客服</a></li>
</ul>
</nav>
js函数代码及调用:
//构建函数:菜单显示隐藏js方法
var btnAndMenu=function(options) {
/*
btnObj:菜单按钮的ID
menuId:菜单的ID
type:是否组织默认事件冒泡(1:点击外部菜单会隐藏;0:点击外部菜单不会隐藏,只有点击按钮才行)。
*/
var objSetting={btnObj:'#menu_btn1',menuObj:'#menu1',type:1};
if (options){$.extend(objSetting,options)}; var btnObj = $(objSetting.btnObj);
var menuObj = $(objSetting.menuObj);
var type = objSetting.type;
btnObj.click(function(event){
if(menuObj.is(':hidden')){
menuObj.show();
}else{
menuObj.hide();
}
event.stopPropagation();//阻止事件向上冒泡
}); if(type=1){
$(document).on("click", function () {//对document绑定一个影藏Div方法
menuObj.hide();
});
menuObj.on('click',function(event){
event.stopPropagation();//阻止事件向上冒泡
});
}
}; //菜单显示隐藏控制
btnAndMenu({btnObj:'.nav_btn',menuObj:'.menu',type:1});
js构建函数,点击按钮显示div,再点击按钮或其他区域,隐藏div的更多相关文章
- js进阶 12-15 jquery如何实现点击button显示列表,点击其它位置隐藏列表
js进阶 12-15 jquery如何实现点击button显示列表,点击其它位置隐藏列表 一.总结 一句话总结:在button中阻止事件冒泡. 1.如何咋button中阻止事件冒泡(两种方法)? ev ...
- jquery点击非div区域隐藏div
点击非div区域隐藏div,如图,点击圆的头像(.person-msg)弹出白色底框(.person-centre).点击圆头像以外的区域隐藏白色底框
- jquery点击添加样式,再点击取出样式
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- radio点击一下选中,再点击恢复未选状态
radio点击一下选中,再点击恢复未选状态 实现方式1: <input type="radio" id="cat" name="ca ...
- js构建函数优秀案例
这几个效果函数是看到别人写的,挺好的,复制下来学习备用! 函数封装: //var _hmt = _hmt || [];(function() {var hm = document.createElem ...
- JQ 点击指定文本框显示div。点击其他区域隐藏DIV
<input id="username" type="text" style="width:90%;margin-top: 40px;" ...
- 2.3点击菜单显示div再点击就隐藏
事件:onclick 属性:display 利用if语句实现 <!DOCTYPE html><html><head><meta charset="u ...
- Js-Html 前端系列--点击非Div区域隐藏Div
最近做项目要用到三字码下拉,调用一个插件,但是滚动条不能点击. 后来看另一个插件后突发奇想,在点击其他区域的时候隐藏这个Div就可以了. 背景:输入文字,弹出下拉Div,点击或者拉动Div滚动条选择, ...
- 点击div和某些控件之外的地方隐藏div,点击div不隐藏。对象 click和document click冲突有关问题
帮朋友解决这个问题,我发现用以往想想像的方式来实现,貌似不太可行,所以从网上找了一些解决办法,进行优化,这篇比较详细,所以拿来备忘,另一方面也希望可以帮助需要的同学! 问题背景:jQuery事件问题! ...
随机推荐
- HDU4508--完全背包
湫湫系列故事--减肥记I Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tot ...
- Go语言教程5 if switch select
首先您需要有php或是c的基础. 否则可能看不明白 方法如下 if 表达式{ //需要注意的是 没有括号. 没错. 没有括号 比如 if 1>2 {}else{} } else { } s ...
- 浅谈php的优缺点
一.优点 1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apache/Mysql/PHP)或者FA ...
- MongoDB-Use --auth parameter with connecting error
When you use mongoDB started as "mongod --dbpath ../../data/db --auth", and you use the ex ...
- Relax信息学题库须知
Relax信息学题库须知 1.本题库于2017.10.15开始建设(建设中),私聊我便可成为题库管理员,关注我即可成为题库成员.我的QQ:2026503022,微信:dy060207. 2.本题库的建 ...
- sqoop实现关系型数据库与hadoop之间的数据传递-import篇
由于业务数据量日益增长,计算量非常庞大,传统的数仓已经无法满足计算需求了,所以现在基本上都是将数据放到hadoop平台去实现逻辑计算,那么就涉及到如何将oracle数仓的数据迁移到hadoop平台的问 ...
- svn服务器的搭建与使用二
转载出处 上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使用. 首 ...
- IntelliJ IDEA(四) :Settings【Appearance and Behavior】
前言 IDEA是一个智能开发工具,每个开发者的使用习惯不同,如何个性化自己的IDEA?我们可以通过Settings功能来设置.Settings文件是IDEA的配置文件,通过他可以设置主题,项目,插件, ...
- 深入了解MyBatis返回值
深入了解MyBatis返回值 想了解返回值,我们须要了解resultType,resultMap以及接口方法中定义的返回值. 我们先看resultType和resultMap resultType和r ...
- .NET Core 已经实现了PHP JIT,现在PHP是.NET上的一门开发语言
12月23日,由开源中国联合中国电子技术标准化研究院主办的2017源创会年终盛典在北京万豪酒店顺利举行.在本次大会上,链家集团技术副总裁.PHP 开发组核心成员鸟哥发表了以 " PHP Ne ...