Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript切换按钮,用于更改div可见性,并切换按钮文本_Javascript_Html_Button_Toggle - Fatal编程技术网

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

Javascript切换按钮,用于更改div可见性,并切换按钮文本,javascript,html,button,toggle,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") {

如果我可以使用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>

功能切换表(a){
var e=document.getElementById(a);
如果(!e)返回true;
如果(e.style.display==“无”){
e、 style.display=“块”
}否则{
e、 style.display=“无”
}
返回true;
}
该脚本可以很好地使用我当前的按钮:

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

测试文本
尝试使文本与div可见性的状态切换。我看到的大多数答案都是使用jQuery,我将脚本放入的上下文使表单成为非选项。

看看这是否有帮助:

HTML:

演示:

看看这是否有帮助:

HTML:


演示:

我的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>

测试文本 功能切换表(btn,a){ var e=document.getElementById(a); 如果(!e)返回true; 如果(e.style.display==“无”){ e、 style.display=“block”; btn.value=“隐藏”; } 否则{ e、 style.display=“无”; btn.value=“显示”; } 返回true; }

修正了间隔显示/脚本显示的问题。

我的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>

测试文本 功能切换表(btn,a){ var e=document.getElementById(a); 如果(!e)返回true; 如果(e.style.display==“无”){ e、 style.display=“block”; btn.value=“隐藏”; } 否则{ e、 style.display=“无”; btn.value=“显示”; } 返回true; }

修复了show/script将显示的间距。

您可以在回调中使用
。这确实完成了脚本现在所做的工作(以更紧凑的形式),但我试图解决的实际问题是更改按钮中显示的文本(“切换”),这样,它将在每次点击时从一个文本切换到另一个文本;例如打开/关闭。
button.innerHTML=isHidden?“展开”:“合同”
你可以在回调中使用
这个
。这确实完成了脚本现在所做的事情(以更紧凑的形式),但我试图解决的真正问题是更改按钮中显示的文本(“切换”),这样每次单击时它都会从一个文本切换到另一个文本;例如打开/关闭。
button.innerHTML=isHidden?“展开”:“合同”真正的诀窍是尝试这样做将纯ol'javascript。我使用的上下文将非常简单,必须是模块化的,所以我希望尽可能保持它的自包含性。真正的诀窍是尝试这样做将使ol'javascript变得简单。我使用它的上下文将非常简单,并且必须是模块化的,所以我希望它尽可能的独立。
<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>