css - 使用 d-none d-lg-block 时 Bootstrap 无法切换

标签 css bootstrap-4

我创建了一个只在大屏幕上显示的导航栏

<nav id="sidebar" class="d-none d-lg-block">
...
</nav>

我还创建了一个切换器,可以在点击时显示/隐藏导航栏

<a href="#" onclick="$('#sidebar').toggle();"><i class="fa fa-bars custom-icon"></i></a>

问题是,当我单击图标时,导航栏不会隐藏,并且 display: none; 在使用 d-none d-lg-block 时没有任何效果>

enter image description here

我该如何解决这个问题?

最佳答案

我意识到如果 display 是 none 并且我们添加 d-lg-block 那么它会再次出现导航栏,这是主要问题,因为我无法在该类时隐藏导航栏仍然存在。所以我创建了一个函数,在隐藏之前先删除它

$("#toggler").click(function()
{
    if($("#sidebar").css('display') === 'none')
    {
        $("#sidebar").addClass("d-none");
        $("#sidebar").addClass("d-lg-block");
        $("#sidebar").toggle();
    }
    else
    {
        $("#sidebar").removeClass("d-none");
        $("#sidebar").removeClass("d-lg-block");
        $("#sidebar").toggle();
    }  
});

我希望这对遇到同样事情的任何人都有用

关于css - 使用 d-none d-lg-block 时 Bootstrap 无法切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59788077/

相关文章:

javascript - 表单提交后停留在 <li> 选项卡上

html - <span> 可以有宽度和高度吗?

css - 如何居中绝对定位的 [h4] 元素?

jquery - 删除项目 Bootstrap Fileinput 上的上传按钮

html - 修复 rtl bootstrap 导航栏目录

javascript - 将类添加到动态 Bootstrap 表行

javascript - 如何在 Bootstrap 中使用间距实用程序类

html - 外部样式表属性未反射(reflect)在 HTML 页面上

javascript - 如何使用 javascript 在我的按钮点击上添加此类?

css - 谷歌浏览器 CSS 位置不正确