【问题标题】:Modify existing bootstrap sidebar to collapsible将现有的引导侧边栏修改为可折叠
【发布时间】:2022-05-09 19:26:28
【问题描述】:

我在 bootstrap 中构建了我的项目,它有一个顶部导航栏和一个侧边栏。

现在我需要制作侧边栏,可以像这样折叠:

http://www.makerstudios.com/

但我项目中的侧边栏位于页面左侧。如何以尽可能少的更改使此侧边栏可折叠?

HTML:

<div class="col-md-3">
    <div class="navbar-default sidebar" role="navigation">
        <div class="sidebar-nav">
            <ul class="nav" id="side-menu">
                <li>...</li>
                <li>...</li>
            </ul>
        </div>
    </div>
</div>

【问题讨论】:

标签: javascript jquery html css twitter-bootstrap


【解决方案1】:

您可以使用一个简单的 jquery。

首先,您需要将侧边栏设置为不在屏幕上。这可以通过添加一个

.sidebar {
    left: -300px // For example
}

然后您需要编写一个 jquery 代码,该代码会监听您想要显示菜单的按钮的点击。

当按钮被按下时,jquery 代码应该使侧边栏再次显示,并将其带到一个可见范围(left:0;)

<script>


$(function(){
    $("#menu").click(function open(){
        $('.sidebar').animate({ left: '0'}, 500);
        });//opening it
    $("#close").click(function close(){
        $('.sidebar').animate({ left: '-200px'}, 500);
    });// 'Closing it'. Takin it back off -screen within the timewindow of 500ms
    });


</script>

所以你现在要做的就是在屏幕外设置栏,然后为你的打开/关闭创建一个按钮。

此解决方案将使侧边栏位于现有正文的顶部,但如果您希望它与您链接的网站上的方式相同,您只需向 jquery 添加一个命令即可移动内容分区(可见部分)与侧边栏移动的量相同。

【讨论】:

  • 它只是隐藏了侧边栏,并在侧边栏的位置留下了空白我不想要那个空白虽然当菜单被隐藏时页面上的其他内容应该增加它的宽度以便适合页面
  • 然后你可以创建一个 .content -div,它包含除侧边栏以外的所有内容,然后将该 div 的宽度设置为 100% 或 100vw,随你喜欢。如果我自己能看到代码,那真的很有帮助。
  • 我为你做了一个工作示例的代码笔。但是您应该记住,stackoverflow 不是免费代码的地方。你应该自己学习这些东西。 codepen.io/Matsutus/pen/KzjVKm 这并不完美,但对于快速涂鸦来说,它应该会有所帮助。剩下的事情你自己搞定
  • 我已经使用了很多引导程序。只是你没有提供太多信息。我给了你一个工作代码补丁,你可以在你的网站上实现它,如果这对你不起作用,那么这不是适合你的地方。如果这个解决方案不起作用,我建议你去阅读一些关于 jquery 切换和引导元素的教程w3schools.com/jquery/default.aspw3schools.com/bootstrap/default.asp
猜你喜欢
  • 1970-01-01
  • 2012-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 2016-11-14
  • 2014-06-20
  • 1970-01-01
相关资源
最近更新 更多