用于onclick JS事件的多个变量,无需双击事件处理程序

时间:2019-06-18 23:21:42

标签: javascript html css

我有多个部分,希望根据用户的需要进行扩展/折叠。理想情况下,他们将能够拥有自己想要的东西。我是Java的新手,所以我不知道是否有更好的方法来执行此操作。...目前,每个部分都有一个函数。同样,您必须单击事件处理程序以使其聚焦,然后再次单击它以激活onClick动作。我只需要单击一次按钮即可执行操作。

我看过Onclick event only works on double click,但没有使用Ajax。 该JS expand onClick multiple events无法正常工作。 我也尝试过此javascript - button needs to be click twice for onclick to trigger,但我认为这不适用于我的工作。

function ShowMe() {  
var button = document.getElementById("DATA-PERSONAL"); 

var x = document.getElementById("PERSONAL-DATA"); 
 if (x.style.display === "none") 
  {
    button.innerHTML = "-";
    x.style.display = "block";
  } else {
    button.innerHTML = "+"
    x.style.display = "none";
  }
}
<h2 >Personal Data <button onclick="ShowMe()" id="DATA-PERSONAL">+</button></h2>
<div id="PERSONAL-DATA">
  <p> The stuff being hidden/revealed</p>
</div>

我希望单击+一次,它将溢出div。我必须单击+两次才能执行此操作,但是单击一次后,即使单击其他内容,它也可以再次运行。另外,我希望有一种更简便的方法来编写所有showme()函数的脚本以使其具有多个变量?可能不是,当前此页面具有27个showme功能。如果那样的话就可以了。

1 个答案:

答案 0 :(得分:1)

这基本上是一个简单的手风琴。您可以在网络上使用简单的jQuery或JS找到已经为您量身定做的任何数字。但是这个小教程应该可以帮助您入门。

How to create an accordion