首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我关闭画布边栏时,背景覆盖不会消失。

当我关闭画布边栏时,背景覆盖不会消失。
EN

Stack Overflow用户
提问于 2016-09-19 00:03:21
回答 1查看 573关注 0票数 0

我正在使用BigSlide JS创建一个非画布边栏。这个插件不具备添加背景覆盖的功能,所以我添加了自己的插件。

这是显示单击侧边栏的图标。

代码语言:javascript
复制
<div class="icon menu1 menu-link">
    <span></span>
    <span></span>
    <span></span>
</div>

我就是这样初始化的

代码语言:javascript
复制
$('.menu-link').bigSlide({
    menu: '#off-canvas-menu',
    menuWidth: '270px',
    easyClose: true
});

现在,对于背景覆盖,我创建了一个新的html div,并将它放置在内容div的顶部。

代码语言:javascript
复制
<div class="site-overlay"></div>

然后我添加了它的CSS

代码语言:javascript
复制
.site-overlay {
    display: none;
}
.menu-open .site-overlay {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9998;
    background-color: rgba(0, 0, 0, 0.8);
    -webkit-animation: fade 500ms;
    animation: fade 500ms;
}

我添加了一个JS函数,每当单击带有类menu-open的div时,就将类.menu-link添加到body中。

代码语言:javascript
复制
$('.menu-link').click(function() {
    $('body').addClass('menu-open');
});

但现在,当我关闭边栏,背景覆盖仍然存在,我不知道如何使它消失。

jsFiddle: https://jsfiddle.net/v1w532d3/7/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-19 00:11:06

试着做:

代码语言:javascript
复制
$('.menu-link').bigSlide({
   menu: '#off-canvas-menu',
   menuWidth: '270px',
   easyClose: true,
   afterOpen: function(){
      $('body').addClass('menu-open');
   },
   afterClose: function(){
    $('body').removeClass('menu-open');
   }
});

并删除:

代码语言:javascript
复制
$('.menu-link').click(function() {
   $('body').addClass('menu-open');
});

因为您似乎不需要它,因为您将bigSlide用于画布之外的功能。

有关所有可用选项,请参见big幻灯片的文档:https://github.com/ascott1/bigSlide.js

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39563747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档