JavaScript 切换 div

标签 javascript jquery html css

基本上我正在尝试切换一个 div。这是我的 html:

        <div id='top-bar'>   
    </div>
    <div class="toggleButton" >+</div>

还有我的 CSS:

.toggleButton
{
    left: 50%;
    position: absolute;
    top: 20%;
    z-index: 1;
}
.toggleButton.expanded{
  content: "-";
}
#top-bar
{
    position: absolute;
    background: linear-gradient(black, #F2F2F2);
    width:100%;
    height: 50px;
    top: 0;
    left: 0;
    padding-bottom: 5px;
}

还有我的 JavaScript:

$(document).ready(function() {
var $content = $("#top-bar").show();
$(".toggleButton").on("click", function(e) {
    $(this).toggleClass("expanded");
    $content.slideToggle();
});
});

我的 fiddle 在这里:JSFiddle

当我切换时,顶部栏 div 确实向上移动了。但切换按钮的内容不会变为“-”,也不会向上移动。我想知道如何解决这个问题。

提前致谢。

最佳答案

使其与 CSS content 规则一起工作的最简单方法是使其成为 :before:after 伪元素。

.toggleButton:before
{
    left: 50%;
    position: absolute;
    top: 20%;
    z-index: 1;
    content: "+";
}
.toggleButton.expanded:before{
  content: "-";
}

在这里查看:http://jsfiddle.net/KJ3Da/1/

如果你想让它的位置根据topnav item改变,你需要去掉绝对定位。在这里查看:http://jsfiddle.net/KJ3Da/2/

关于JavaScript 切换 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24175272/

相关文章:

javascript - 在 html 页面中使用 javascript 变量的值

javascript - 使用 Easycal.js 的 CSS 或 JS 粘性/固定表头 - 两个分开的表

javascript - 改进这个: Change button text/background onmousedown - revert onmouseup

javascript - 通过在窗口就绪时使用 javascript 强制主体更改为背景,防止页面使用主题切换闪烁继承的主体 bg 颜色

javascript - 字符串到数字的混淆

javascript - Onsen-UI 分离器侧始终关闭

html - 延伸到页脚的 CSS float 列

javascript - 如何使用 javascript 将表单输出链接到谷歌融合表查询

javascript - 在 Mac 上将 Web 应用程序转换为全屏桌面应用程序?

javascript - 使用javascript将值与字符串分开