javascript函数显示和隐藏div

bon*_*nny 8 html javascript function

您好我有以下2个JavaScript函数来打开div并关闭它.

<script>
    function show() {
        if(document.getElementById('benefits').style.display=='none') {
          document.getElementById('benefits').style.display='block';
        }
    }
</script>



<script>
    function close() {
        if(document.getElementById('benefits').style.display=='block') {
          document.getElementById('benefits').style.display='none';
        }
    }  
</script>
Run Code Online (Sandbox Code Playgroud)

这是html:

<div id="opener"><a href="#1" name="1" onclick=show()>click here</a></div>
<div id="benefits" style="display:none;">
   some input in here plus the close button
   <div id="upbutton"><a onclick=close()></a></div>
</div>
Run Code Online (Sandbox Code Playgroud)

由于某种原因,show函数应该如何工作,但关闭按钮不起作用.所以,如果有人可以帮助我,我真的很感激.非常感谢.

Wol*_*Dev 22

<script> 
    function show() { 
        if(document.getElementById('benefits').style.display=='none') { 
            document.getElementById('benefits').style.display='block'; 
        } 
        return false;
    } 
    function hide() { 
        if(document.getElementById('benefits').style.display=='block') { 
            document.getElementById('benefits').style.display='none'; 
        } 
        return false;
    }   
</script> 


 <div id="opener"><a href="#1" name="1" onclick="return show();">click here</a></div> 
    <div id="benefits" style="display:none;">some input in here plus the close button 
           <div id="upbutton"><a onclick="return hide();">click here</a></div> 
    </div> 
Run Code Online (Sandbox Code Playgroud)


Pau*_*loy 5

我通常使用类来执行此操作,这似乎迫使浏览器重新评估所有样式.

.hiddendiv {display:none;}
.visiblediv {display:block;}
Run Code Online (Sandbox Code Playgroud)

然后使用;

<script>  
function show() {  
    document.getElementById('benefits').className='visiblediv';  
}  
function close() {  
    document.getElementById('benefits').className='hiddendiv';  
}    
</script>
Run Code Online (Sandbox Code Playgroud)

请注意"className"的外壳让我感到很沮丧