Javascript切换按钮,用于更改div可见性,并切换按钮文本

时间:2012-12-29 21:14:14

标签: javascript html button toggle

如果我可以使用jQuery,这会更容易,但我试图避免这样做有几个原因。同时,我已经得到了一些脚本 - 我正在尝试添加函数来切换按钮文本和div的状态。

<script type="text/javascript">
function toggleMe(a){
    var e = document.getElementById(a);
    if(!e) return true;
    if(e.style.display == "none") {
        e.style.display = "block"
    } else {
        e.style.display = "none"
    }
    return true;
}
</script>

该脚本可以很好地使用我当前的按钮:

<input type="button" onclick="return toggleMe('para0')" value="Expanse"><br> 
<div id="para0">TEST TEXT</div>

尝试使用div可见性的状态切换文本。我见过的大多数答案都是使用jQuery,而我将脚本放入的上下文使表单成为一种非选择。

2 个答案:

答案 0 :(得分:1)

看看这是否有帮助:

HTML:

<button id="toggle">Toggle</button>
<div id="text">Lorem ipsum dolor sit amet.</div>

JavaScript的:

var button = document.getElementById('toggle'),
    text = document.getElementById('text');

button.onclick = function() {
  var isHidden = text.style.display == 'none';
  text.style.display = isHidden ? 'block' : 'none';
};

演示: http://jsbin.com/emikux/1/edit

答案 1 :(得分:0)

我的JS有点生疏,我现在无法检查,但我认为这样的事情会做你想做的事情:

<input type="button" onclick="return toggleMe(this,'para0')" value="Expanse"><br> 
<div id="para0">TEST TEXT</div>

<script type="text/javascript">
    function toggleMe(btn,a){
    var e=document.getElementById(a);
    if(!e)return true;
    if(e.style.display=="none"){
      e.style.display="block";
      btn.value = "Hide";
   }
   else{
      e.style.display="none";
      btn.value = "Show";
   }
   return true;
  }
  </script>

修正了show / script显示的间距。