javascript - Accordion 按钮未隐藏文本

标签 javascript css position accordion

嗨,我正在构建一个按钮,点击时隐藏/显示内容,但是当我将一些样式应用到内容时它不会再隐藏,我怀疑它与 css 位置有关,但不能'不知道为什么,有人可以帮助我吗?提前致谢

    var acc = document.getElementsByClassName("accordion");
    var i;

    for (i = 0; i < acc.length; i++) {
    acc[i].onclick = function() {
    this.classList.toggle("active");
    var panel = this.nextElementSibling;
    if (panel.style.maxHeight){
    panel.style.maxHeight = null;
    } else {
    panel.style.maxHeight = panel.scrollHeight + "px";
    } 
    }
    }
    button.accordion {
    background-color: #13294b;
    border: 2px solid #59cbe8;
    border-radius: 0px 10px 0px 10px;
    box-shadow: 7px 7px 5px #cccccc;
    color: #fff;
    cursor: pointer;
    padding: 10px 15px 10px 15px;
    margin: 4px 0px 7px 0px;
    width: 100%;
    font-size: 18px;
    transition: 0.4s;
    outline: none;
    text-align: left;
    }
    
    button.accordion.active, button.accordion:hover {
    background-color: #1f447b;
    }

    button.accordion:after {
    content: '\002B';
    color: #59cbe8;
    font-weight: bold;
    float: right;
    }

    button.accordion.active:after {
    content: "\2212";
    }

    .panel {
    padding: 0 18px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    }

    .action1 {
    position: absolute; 
    margin-top: -115px; 
    margin-left: 35px; 
    width: 100%;
    color: #c1c1c1;
    font-size: 14px;
    font-weight: bold;
    }

    .action2 {
    position: absolute; 
    margin-top: -115px; 
    margin-left: 175px; 
    width: 100%;
    color: #c1c1c1;
    font-size: 14px;
    font-weight: bold;
    }
    <button class="accordion">This is the button</button>
    <div class="panel">
    <p><img width="650" height="114" style="border: 0px solid rgb(0, 0, 0); border-image: none;" src="./?a=654193" /><br /></p>
    <p class="action1">Recognise</p> 
    <p class="action2">Remove from play</p> 
    </div>

最佳答案

您的段落是绝对定位的,但与隐藏/显示的面板无关。要将那些相对于 .panel 定位,请将 position: relative 添加到 .panel,然后段落将使用 `.panel.< 隐藏/显示/p>

关于javascript - Accordion 按钮未隐藏文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44960446/

相关文章:

javascript - HTML/CSS 表格 : Data submitted though required field not valid or entered

html - Firefox 与 Webkit 浏览器上的滚动问题 - 侧边导航、文本截断和滚动

css - 仅在图像完全下载后显示图像

html - 有没有办法将导航栏中 li 下的下拉菜单居中?

javascript - 如何偏移并防止工具提示通过页面的底部边缘?

javascript - 在 jQuery 应用程序中存储模型数据的好方法是什么?

javascript - 从 anchor 链接到达时切换 DIV

javascript - 如何在 AngularJS 中的另一个文件中存储 Chart.js 图表选项

c++ - 旋转矩阵不是真正对称的(OpenCV)

javascript - 如何在javascript模块之间进行通信......?