打开菜单时蒙版/覆盖在页面上
Mask/overlay over page when menu is opened
我的脚本遇到了一些问题,我正在尝试弄清楚如何在打开菜单时在网站上制作掩码/过滤器。在HTML中有一个名为cmask的类,还有一个称为cmask的类是-active的仅当屏幕小于 900px 时,它才需要执行此操作。我一直在尝试使用 cmask.addClass("is-active") 和 removeclass,但它不能那样工作,并且它不断崩溃(使脚本的另一部分不再工作)。有人知道我做错了什么吗?
//scrolling----------------
//scrolling----------------
//scrolling----------------
var nav = $("#nav_id");
var nav_overflow = $("#nav_overflow");
var page_end_logo_nav = $("#page_end_logo_nav").visible();
var logo_container = $("#logo_container");
var nav_ani_speed = 200 //in ms
var nav_state = 0 // 0 is nav 1 is hamburger visable
var hamburger = $("#hamburgermenu") //hamburger elemnt
var distanceY;
var shrinkOn;
var winkel_mand = $("#winkel_mand")
//set scroll for desktop nav
function nav_desktop_check() {
distanceY = window.pageYOffset || document.documentElement.scrollTop;
shrinkOn = 100;
//run the header script
if (distanceY > shrinkOn) {
if (nav_state === 0) {
nav_hamburger();
}
} else {
if (nav_state === 1 ){
if ($(window).width() >= 900){
nav_normal_desktop();
}
}
}
}
//tablet nav check
function tablet_nav_check() {
if (nav_state === 0){
if ($(window).width() <= 900){
nav_hamburger();
}
}
}
tablet_nav_check()
//hambutton onclikc
hamburger.click(function() {
if (nav_state === 1){
if ($(window).width() >= 900){
nav_normal_desktop();
} else {
nav_normal_mobile();
}
logo_animation();
remove_winkel_icon_check()
} else{
nav_hamburger()
}
});
//nav to hamburger
function nav_hamburger() {
hamburger.removeClass("active")
nav_overflow.animate({
width: 0
}, nav_ani_speed, function() {
hamburger.addClass("active")
});
nav_state = 1;
logo_animation();
}
//hamburger to nav
function nav_normal_desktop() {
hamburger.addClass("active");
hamburger.removeClass("active");
nav_overflow.css("width", "auto");
nav_witdh = nav_overflow.innerWidth();
nav_overflow.css("width", 0);
nav_overflow.animate({
width: nav_witdh
}, nav_ani_speed, function() {
hamburger.removeClass("active")
});
nav_state = 0;
}
function nav_normal_mobile() {
nav_overflow.animate({
width: "100%"
}, nav_ani_speed, function() {
hamburger.removeClass("active")
});
nav_state = 0;
}
首先,我会在所有可能适合的语句中添加分号,以确保您不会错过强制性的分号。
我做了一个小的叠加蒙版示例
爪哇语
$('#element').on("click",function() {
if($('#overlay').length == 0) {
$(this).wrap('<div id="overlay"><div>');
} else {
$(this).unwrap();
}
});
.CSS
#element {
width:200px;
height:200px;
background-color:#f00;
}
#inner {
width:100px;
height:100px;
background-color:#0ff;
}
#overlay
{
background-color:#000;
opacity:0.3;
width:200px;
height:200px;
}
http://jsfiddle.net/5aw0wsy4/
相关文章:
- 可以'点击汉堡包图标后,菜单无法正常打开
- 如何在悬停和聚焦时打开引导导航菜单
- 当我的覆盖打开时,我如何放置转换
- 使按钮立即打开菜单
- 打开或关闭响应菜单时的内容覆盖
- 如何在javascript中打开菜单
- 如何使用 selectmenu() UI 在打开菜单之前禁用选项
- 悬停时打开菜单
- 打开菜单时蒙版/覆盖在页面上
- 用鼠标悬停打开菜单,当光标移出时关闭
- 如何垂直展开网页'打开菜单时的正文
- 右键单击图像的覆盖上下文菜单
- JQuery UI自动完成-当用户在文本框中单击时打开菜单
- 子菜单保持打开菜单点击
- Jquery打开菜单onclick,停止他们和添加孩子
- 我想关闭子元素的打开菜单
- Javascript在网站上打开菜单
- 使嵌入式Flash在灰盒覆盖打开时不会停止
- 强制CSS:hover在过渡(打开菜单)后更新的解决方案
- 如何使我的链接打开菜单与列表项的id,我想要访问