Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏菜单单击_Javascript_Jquery_Css - Fatal编程技术网

Javascript 隐藏菜单单击

Javascript 隐藏菜单单击,javascript,jquery,css,Javascript,Jquery,Css,我正在为响应性网站编写菜单,但有一刻我惊呆了——当点击时隐藏菜单。。。 我非常感谢您对我的被窃听的jQuery:)的任何帮助。- 函数hamburgerClick() { $(“#汉堡菜单”)。通过单击“汉堡菜单”图标,单击(函数(e)/(隐藏| |显示)菜单 { e、 预防默认值(); if($('#hamburgerMenu').hasClass('is-active')) { $('#hamburgerMenu').removeClass('is-active'); $(“#菜单”).r

我正在为响应性网站编写菜单,但有一刻我惊呆了——当点击时隐藏菜单。。。 我非常感谢您对我的被窃听的jQuery:)的任何帮助。-

函数hamburgerClick()
{
$(“#汉堡菜单”)。通过单击“汉堡菜单”图标,单击(函数(e)/(隐藏| |显示)菜单
{
e、 预防默认值();
if($('#hamburgerMenu').hasClass('is-active'))
{
$('#hamburgerMenu').removeClass('is-active');
$(“#菜单”).removeClass('is-active');
}
其他的
{
$(“#汉堡菜单”).addClass('is-active');
$('#menu').addClass('is-active');
}
});
}
函数hideMenuOutclick()/*不起作用*/
{
if($('#hamburgerMenu').hasClass('is-active'))
{
$(文档)。单击(函数(e)
{
if($(e.target).closest('#menu').length!==0)||
($(e.target).最近('#hamburgerMenu')。长度!==0))
{
$('#hamburgerMenu').removeClass('is-active');
$(“#菜单”).removeClass('is-active');
}
});
}
}
函数beginJS()
{
汉堡舔();
hidemenouutclick();
/*没有更多的脚本*/
}
window.onload=beginJS
.bg红色
{
背景色:#e32624;
}
/**********纯割台**********/
#标题
{
宽度:100%;
高度:56px;
显示:块;
位置:固定;
}
/**********固定佣金**********/
.固定佣金
{
显示:块;
浮动:对;
位置:相对位置;
宽度:自动;
高度:56px;
外观:无;
盒影:无;
边界半径:无;
背景色:#e32624;
过渡:背景0.3s;
}
.固定佣金a
{
字号:26px;
颜色:#ffffff;
填充:10px 12px;
}
/**********汉堡纽扣**********/
#汉堡菜单
{
显示:块;
浮动:左;
位置:相对位置;
溢出:隐藏;
宽度:56px;
高度:56px;
字号:0;
文本缩进:-9999px;
外观:无;
盒影:无;
边界半径:无;
光标:指针;
背景色:#e32624;
过渡:背景0.3s;
}
#汉堡菜单:焦点
{
大纲:无;
}
/**********汉堡纽扣**********/
#汉堡曼努斯潘酒店
{
显示:块;
位置:绝对位置;
顶部:25px;
左:12px;
右:12px;
高度:5px;
背景:白色;
转换:转换0.3s;
}
#汉堡菜单span::之前,
#汉堡菜单span::之后
{
位置:绝对位置;
显示:块;
左:0;
宽度:100%;
高度:5px;
背景色:#fff;
内容:“;
}
#汉堡菜单span::之前
{
顶部:-14px;
变换原点:右上角;
过渡:变换0.3s,宽度0.3s,顶部0.3s;
}
#汉堡菜单span::之后
{
底部:-14px;
变换原点:右下角;
过渡:变换0.3s,宽度0.3s,底部0.3s;
}
#汉堡包:焦点
{
大纲:无;
}
/**********汉堡按钮激活-JS在单击时添加的类**********/
#汉堡包菜单是激活的
{
背景色:#bc1a18;
}
/**********汉堡按钮范围激活**********/
#hamburgerMenu.is-active跨度
{
变换:旋转(180度);
}
#hamburgerMenu.is-active span::before,
#hamburgerMenu.is-active span::after
{
宽度:50%;
}
#hamburgerMenu.is-active span::before
{
排名:0;
变换:translateX(22px)translateY(2px)旋转(45度);
}
#hamburgerMenu.is-active span::after
{
底部:0;
变换:translateX(22px)translateY(-2px)旋转(-45度);
}
/**********航行**********/
#菜单
{
显示:块;
位置:固定;
z指数:1000;
背景色:#003e78;
溢出:隐藏;
-webknit溢出滚动条:触摸;/*用于移动safari*/
顶部:56px;
宽度:65%;
身高:100%;
左-65%;
过渡属性:不透明度,左侧;
过渡时间:0.3s、0.5s;
}
#menu.is-active
{
左:0;
}
#菜单ul
{
溢出:自动;
宽度:100%;
身高:100%;
右键填充:0;/*JS给出了隐藏滚动条的精确值*/
}
#菜单ul::-webkit滚动条
{
显示:无;
}
#菜单ulli
{
显示:内联块;
宽度:100%;
高度:52px;
}
#菜单ul li.current,
#菜单:悬停,
#菜单ul li:活动
{
背景色:#0066c5;
}
#菜单ulli a
{
显示:块;
高度:30px;
宽度:100%;
颜色:#ffffff;
字号:1em;
填充:12px0;
}

切换菜单

对于JSFIDLE错误,问题在于这一行:

if( $('#hamburgerMenu').hasClass('is-active') ) {
如果菜单在文档加载时未处于活动状态,则永远不会附加事件处理程序

错误:这里的错误是:jquery丢失,加载类型:wrap in The head

我假设您在菜单外单击时要关闭菜单

关于你问题的第二部分,我发现问题与#菜单的高度有关:将其从100%更改为50%

片段:

函数hamburgerClick()
{
$(“#汉堡菜单”)。通过单击“汉堡菜单”图标,单击(函数(e)/(隐藏| |显示)菜单
{
e、 预防默认值();
if($('#hamburgerMenu').hasClass('is-active'))
{
$('#hamburgerMenu').removeClass('is-active');
$(“#菜单”).removeClass('is-active');
}
其他的
{
$(“#汉堡菜单”).addClass('is-active');
$('#menu').addClass('is-active');
}
});
}
函数hideMenuOutclick()/*不起作用*/
{
$(文档)。单击(函数(e)
{
如果($(e.target).最近('#菜单')。长度==0)&&
($(e.target).最近('#hamburgerMenu')。长度==0)
{
if($('#hamburgerMenu').hasClass('is-active')){
$('#hamburgerMenu').removeClass('is-active');
$(“#菜单”).removeClass('is-active');
}
}
});
}
函数beginJS()
{
汉堡舔();
hidemenouutclick();
/*没有更多的脚本*/
}
window.onload=beginJS
.bg红色
{
背景色:#e32624;
}
/**********纯割台**********/
#标题
{
宽度:100%;
高度:56px;
显示:块;
位置:固定;
}
/**********固定佣金**********/
.固定佣金
{
显示:块;
浮动:对;
位置:相对位置;
宽度:自动;
高度:56px;
阿佩