Javascript显示和隐藏

Javascript显示和隐藏,javascript,html,css,Javascript,Html,Css,当我单击标题时,如何使其隐藏或显示列表?当其可见时,标题显示-当其不可见时,标题显示a+。非常感谢 <div class="RevealCard"> <h3 class="RevealCard-header"> Top five loves </h3> <ol class="RevealCard-list"> <li>First item</li> <li>Second item<

当我单击标题时,如何使其隐藏或显示列表?当其可见时,标题显示-当其不可见时,标题显示a+。非常感谢

 <div class="RevealCard">
  <h3 class="RevealCard-header">
  Top five loves
  </h3>
  <ol class="RevealCard-list">
  <li>First item</li>
  <li>Second item</li>
  <li>Third item</li>
  <li>Fourth item</li>
  <li>Fifth item</li>
  </ol>
 </div>
这应该做到:

函数单击下拉菜单(){
var listitems=document.getElementById(“RevealCard”);
var header=document.getElementById(“RevealCard header”).innerHTML;
如果(listitems.style.display==“无”){
listitems.style.display='block';
header=header.replace('+','-');
document.getElementById(“RevealCard标头”).innerHTML=标头;
}否则{
listitems.style.display='none';
header=header.replace('-','+');
document.getElementById(“RevealCard标头”).innerHTML=标头;
}
}
RevealCard标题{
背景:#000;
边界半径:4px4p0;
颜色:#fff;
字体大小:1.2米;
字体大小:正常;
保证金:0;
填充:0.5em;
位置:相对位置;
}
.RevealCard标头::之后{
边框:1px实心#fff;
内容:“-”;
高度:1.15em;
线高:1米;
位置:绝对位置;
右:0.5em;
文本对齐:居中;
宽度:1.15em;
}
.REVALCARD列表{
边框:1px实心#000;
边界顶部:无;
边际:0.02米0;
垫底:1米;
垫面:1米;
}

五大爱+
  • 第一项
  • 第二项
  • 第三项
  • 第四项
  • 第五项
  • 这应该可以做到:

    函数单击下拉菜单(){
    var listitems=document.getElementById(“RevealCard”);
    var header=document.getElementById(“RevealCard header”).innerHTML;
    如果(listitems.style.display==“无”){
    listitems.style.display='block';
    header=header.replace('+','-');
    document.getElementById(“RevealCard标头”).innerHTML=标头;
    }否则{
    listitems.style.display='none';
    header=header.replace('-','+');
    document.getElementById(“RevealCard标头”).innerHTML=标头;
    }
    }
    RevealCard标题{
    背景:#000;
    边界半径:4px4p0;
    颜色:#fff;
    字体大小:1.2米;
    字体大小:正常;
    保证金:0;
    填充:0.5em;
    位置:相对位置;
    }
    .RevealCard标头::之后{
    边框:1px实心#fff;
    内容:“-”;
    高度:1.15em;
    线高:1米;
    位置:绝对位置;
    右:0.5em;
    文本对齐:居中;
    宽度:1.15em;
    }
    .REVALCARD列表{
    边框:1px实心#000;
    边界顶部:无;
    边际:0.02米0;
    垫底:1米;
    垫面:1米;
    }
    
    五大爱+
    
  • 第一项
  • 第二项
  • 第三项
  • 第四项
  • 第五项

  • 这里有一个可行的解决方案:

    var header=document.getElementsByClassName('RevealCard-header')[0];
    var list=document.getElementsByClassName('revalcard-list')[0];
    var collapseChar=document.getElementById('collapseChar');
    header.addEventListener('click',function(){
    //单击时切换列表
    if(list.style.display.toLowerCase()!=“无”){
    //隐藏列表
    list.style.display=“无”;
    collapseChar.innerHTML=“&plus;”;
    }
    否则{
    //显示列表
    list.style.display=“block”;
    collapseChar.innerHTML=“&减号;”;
    }
    })
    RevealCard标题{
    背景:#000;
    边界半径:4px4p0;
    颜色:#fff;
    字体大小:1.2米;
    字体大小:正常;
    保证金:0;
    填充:0.5em;
    位置:相对位置;
    }
    .RevealCard标头::之后{
    边框:1px实心#fff;
    内容:“-”;
    高度:1.15em;
    线高:1米;
    位置:绝对位置;
    右:0.5em;
    文本对齐:居中;
    宽度:1.15em;
    }
    .REVALCARD列表{
    边框:1px实心#000;
    边界顶部:无;
    边际:0.02米0;
    垫底:1米;
    垫面:1米;
    }
    #皱褶{
    右边距:3倍;
    }
    
    &负的;五大爱
    
  • 第一项
  • 第二项
  • 第三项
  • 第四项
  • 第五项

  • 这里有一个可行的解决方案:

    var header=document.getElementsByClassName('RevealCard-header')[0];
    var list=document.getElementsByClassName('revalcard-list')[0];
    var collapseChar=document.getElementById('collapseChar');
    header.addEventListener('click',function(){
    //单击时切换列表
    if(list.style.display.toLowerCase()!=“无”){
    //隐藏列表
    list.style.display=“无”;
    collapseChar.innerHTML=“&plus;”;
    }
    否则{
    //显示列表
    list.style.display=“block”;
    collapseChar.innerHTML=“&减号;”;
    }
    })
    RevealCard标题{
    背景:#000;
    边界半径:4px4p0;
    颜色:#fff;
    字体大小:1.2米;
    字体大小:正常;
    保证金:0;
    填充:0.5em;
    位置:相对位置;
    }
    .RevealCard标头::之后{
    边框:1px实心#fff;
    内容:“-”;
    高度:1.15em;
    线高:1米;
    位置:绝对位置;
    右:0.5em;
    文本对齐:居中;
    宽度:1.15em;
    }
    .REVALCARD列表{
    边框:1px实心#000;
    边界顶部:无;
    边际:0.02米0;
    垫底:1米;
    垫面:1米;
    }
    #皱褶{
    右边距:3倍;
    }
    
    &负的;五大爱
    
  • 第一项
  • 第二项
  • 第三项
  • 第四项
  • 第五项

  • 不仅要切换OL元素,还需要更改pseudo::after css。最简单的方法?创建第二个css::after样式,并简单地将它们两者切换。见下文

    var myHead=document.getElementsByClassName(“RevealCard头”);
    对于(变量i=0,j=myHead.length;iRevealCard-header {
      background: #000;
      border-radius: 4px 4px 0 0;
      color: #fff;
      font-size: 1.2em;
      font-weight: normal;
      margin: 0;
      padding: 0.5em;
      position: relative;
    }
    
    .RevealCard-header::after {
      border: 1px solid #fff;
      content: "-";
      height: 1.15em;
      line-height: 1em;
      position: absolute;
      right: 0.5em;
      text-align: center;
      width: 1.15em;
    }
    
    .RevealCard-list {
      border: 1px solid #000;
      border-top: none;
      margin: 0 0 2em 0;
      padding-bottom: 1em;
      padding-top: 1em;
    }