javascript - 使用 jquery 更改简单的 css

标签 javascript jquery html css

<分区>


想改进这个问题吗? 通过 editing this post 添加细节并澄清问题.

关闭 5 年前

我试图在单击时使侧边栏平滑过渡,以便内容包装器也向左过渡。

我就是做不到。

var rightSidebarOpen = false;
    $('#toggle-right-sidebar').click(function () {
        if(rightSidebarOpen) {
            $('#sidebar-right').hide()
            $('.content-wrapper').css('margin-right', "0");
        }
        else {
            $('#sidebar-right').show();
            $('.content-wrapper').css('margin-right', "205px");
        }
        rightSidebarOpen = !rightSidebarOpen;
    });
.content-wrapper {
    background: #fff;
    margin-left: 205px;
    min-height: 100vh;
    padding: 1rem 1.5rem;
    transition: all .7s ease;
    margin-bottom: 50px;
    background: green;
}

#sidebar-right {
    background: #fafafa;
    border-right: 2px solid #e5e5e5;
    width: 200px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    overflow-x: hidden;
    transition: left 1s ease;
    display: none;
    background: blue;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<button id="toggle-right-sidebar">BUTTON</button>
<div class="content-wrapper"></div>
<div id="sidebar-right"></div>

最佳答案

也许您正在寻找的东西:

我将 position: relative 设置为 #sidebar-right 并仅使用具有相同像素的 right 来使用 进行此移动.content-wrapper

var rightSidebarOpen = false;
    $('#toggle-right-sidebar').click(function () {
        if(rightSidebarOpen) {
            $('#sidebar-right').css('right', "-205px");
            $('.content-wrapper').css('margin-right', "0");
        }
        else {
            $('#sidebar-right').css('right', "0");
            $('.content-wrapper').css('margin-right', "205px");
        }
        rightSidebarOpen = !rightSidebarOpen;
    });
.content-wrapper {
    background: #fff;
    margin-left: 205px;
    min-height: 100vh;
    padding: 1rem 1.5rem;
    transition: all .7s ease;
    margin-bottom: 50px;
    background: green;
    position: relative;
}

#sidebar-right {
    background: #fafafa;
    border-right: 2px solid #e5e5e5;
    width: 200px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    overflow-x: hidden;
    transition: all .7s ease;
    background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<button id="toggle-right-sidebar">BUTTON</button>
<div class="content-wrapper"></div>
<div id="sidebar-right"></div>

关于javascript - 使用 jquery 更改简单的 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49937316/

上一篇:html - 如何在flexbox中让div不收缩,而其他的增长收缩

下一篇:css - 如何在 CSS 中反转列表的顺序,删除最后一个值并保持居中?

相关文章:

javascript - ASP.NET 按钮单击调用 BeginForm 中的 Javascript 函数并停止表单提交

javascript - 创建文件上传按钮时ckeditor出错

javascript - 从 iframe 获取数据

javascript - 为什么我的 while 循环覆盖了 if 语句

javascript - Youtube iFrame Api 示例 - 错误 : "JSON is undefined"?

javascript - Node.Select() 在 RadTreeView 中触发 Node_Click() 事件?

jQuery DIV 在页面滚动时滚动

javascript - 向嵌套类添加新元素

javascript - 单击同级时关闭下拉菜单

javascript - 页面加载时的谷歌语音搜索