javascript - 将现有的 Bootstrap 侧边栏修改为可折叠

标签 javascript jquery html css twitter-bootstrap

我在 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>

最佳答案

您可以使用简单的 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 添加一个命令即可将内容部分(可见部分)移动与边栏移动相同的量。

关于javascript - 将现有的 Bootstrap 侧边栏修改为可折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37297996/

相关文章:

php - 基于用户选择的数字的 HTML For 循环

加载另一个页面后 JavaScript 继续

javascript - 关于在 JavaScript 中调用函数,哪一项是正确的?

javascript - contenteditable 中的选择更改事件

javascript - ng-hide 导致布局中断

php - 对于 php 中的 mysql,例如在 jquery 中,是否有一种简单的方法来获取 "roll your own forms"?

javascript - 如何在 Canvas 周围绘制边框

css - 防止点击按钮时 div 晃动

jquery - jquery 中元素名称的动态选择

JavaScript- 在页面中查找文本并跳转到页面中的位置