2016-03-08 61 views
0

的Javascript显示隐藏按钮:替换DIV

<script> 
    function setVisibility(id) { 
     if (document.getElementById('bt1').value == 'Hide Layer') { 
      document.getElementById('bt1').value = 'Show Layer'; 
      document.getElementById(id).style.display = 'none'; 
     } else { 
      document.getElementById('bt1').value = 'Hide Layer'; 
      document.getElementById(id).style.display = 'inline'; 

     } 
    } 
</script> 

CSS

div { 
    display: none; 
} 

HTML

<input type=button name=type id='bt1' value='Show Layer' onClick="setVisibility('sub3');";> 

<div id="sub3">Message Box</div> 

此代码的工作完美。但是,当我点击按钮就说明消息框以及“隐藏层”按钮..我想让我的消息框替换按钮'hide layer'n显示在它的位置..

+2

如果'div'替换了'Hide Layer'按钮,那么您将如何再次点击该按钮? – RRK

+0

我不想再那个按钮.. – Pooojaaaa

回答

1

如果你想渲染消息框only.Please是指以下步骤 -

1步 - 添加以下代码到HTML文件

<input type=button name=type id='bt1' value='Show Layer' onClick="setVisibility('sub3');";> 

<div id="sub3">Message Box</div> 

<script> 
    function setVisibility(id) { 
     if (document.getElementById('bt1').value == 'Show Layer') { 
      document.getElementById(id).style.display = 'inline'; 
      //above statement will show message box. 
      document.getElementById('bt1').style.display = 'none'; 
      //above statement will hide 'Show layer' button. 
     } 
    } 
</script> 

第2步 - 添加以下代码到CSS

div { 
    display: none; 
} 

要检查例如请参考此链路https://jsfiddle.net/yndyn8vj/

+0

完美:)谢谢:) – Pooojaaaa

0

你应该这样做。

HTML

<input type=button name=type id='bt1' value='Show Layer' onClick="setVisibility('sub3');";> 

<div id="sub3" style="display:none">Message Box</div> 

CSS - 什么

的Javascript

<script> 
    function setVisibility(id) { 
    var el = document.getElementById(id); 
    el.style.display = (el.style.display != 'none' ? 'none' : ''); 
    } 
</script> 

希望它能帮助。 Marco。

+0

我想要的东西像@wisdmlabs答案和它的帮助..并且可以ü转换你的答案就像没有css的答案? – Pooojaaaa

+0

好的。也许我不明白你的问题。在我的代码中,输入的值不会改变。只更改div sub3的可见性。 –