首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开/关闭时更改slicknav中的背景

打开/关闭时更改slicknav中的背景
EN

Stack Overflow用户
提问于 2015-08-06 16:16:59
回答 3查看 1.4K关注 0票数 2

我正在尝试更改Slicknav中打开和关闭Slicknav菜单时的背景。

我使用这个代码,但它对我不起作用。

代码语言:javascript
复制
$(function(){
  var $bg;
    $('#menu-home').slicknav({
    duplicate: false,
    label: '',
    init: function(){
         $bg = $(".slicknav_menu");
    },
    open: function(){
         $bg.css({'background': '#222 !important'});
    },
    close: function(){
         $bg.css({'background': 'rgba(0, 0, 0, 0)'});
    }
    });
});

我试过使用basic,如果这样,那么那样,我觉得我把这段非常简单的javascript搞砸了。

任何帮助都将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2015-08-08 00:28:52

不确定您使用的是否是最新版本的SlickNav,但是从v1.0.3开始,正确的回调是beforeOpenafterOpenbeforeCloseafterClose

这里有一个背景更改的快速钢笔,可以正常工作:http://codepen.io/ComputerWolf/pen/KpEKMW

需要注意的是,当打开和关闭菜单以及每个子菜单时,都会触发这些函数。如果只想在打开或关闭整个菜单时更改背景,则可以使用trigger检查触发回调的是什么。

票数 3
EN

Stack Overflow用户

发布于 2015-09-11 02:59:24

为了阐述@ComputerWolf,我添加了以下代码来添加和删除我在Css中设置样式的类。我使用触发器检查它是否来自打开/关闭按钮,而不是SubMenu

代码语言:javascript
复制
$('#mobile-menu').slicknav({
      label: '',
      beforeOpen: function(trigger){
        if($(trigger).hasClass('slicknav_btn')){ 
            $('.slicknav_menu').addClass('open-menu');
        }
      },
      afterClose: function(trigger){
        if($(trigger).hasClass('slicknav_btn')){ 
            $('.slicknav_menu').removeClass('open-menu');
        }
      }
});
票数 0
EN

Stack Overflow用户

发布于 2019-08-21 00:58:46

这对我很有效

代码语言:javascript
复制
/* slicknav mobile menu active 
      ========================================================*/
    var $bg;
    $('.mobile-menu').slicknav({
      prependTo: '.navbar-header',
      parentTag: 'liner',
      allowParentLinks: true,
      duplicate: true,
      label: '',
      closedSymbol: '<i class="lni-chevron-right"></i>',
      openedSymbol: '<i class="lni-chevron-down"></i>',
      init: function () {
        $bg = $('.slicknav_menu');
      },
      afterOpen: function () {
        $bg.css({ 'background': 'rgba(25,118,210,.95)' });
      },
      afterClose: function () {
        $bg.css({ 'background': 'transparent' });
      }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31850383

复制
相关文章

相似问题

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