gpt4 book ai didi

javascript - onclick javascript 函数仅在第二次单击时起作用

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:24 25 4
gpt4 key购买 nike

function toggleDivFunction() {
var arrowElement = document.getElementById("arrowRight");
var showElement = document.getElementById("dropdownText");
arrowElement.onclick = function() {
if (showElement.style.display == 'none') {
showElement.style.display = 'block';
document.getElementById("arrowRight").style = "transform: rotate(+90deg)";
} else {
showElement.style.display = 'none';
document.getElementById("arrowRight").style = "transform: rotate(0deg)";
}
}
}
<p class="dropdownHeader">TOP <span id="arrowRight" class="arrowRight" onclick="toggleDivFunction();"> > </span></p>
<div class="dropdownText" id="dropdownText"><p>TEXT TO BE SHOWN</p></div>

问题是 dropdownText div 仅在第二次单击 arrowRight 范围后才会显示。我已经将其视为一个常见问题,但仍未能找到解决方案。任何帮助,将不胜感激。

最佳答案

您不需要在另一个 click 事件处理程序中绑定(bind)一个 click 事件处理程序。您必须使用单个 click 事件处理程序。

show/hide 功能属于第二个 click 事件处理程序,它被绑定(bind)到您的 span DOM第一次点击后的元素。

function toggleDivFunction () {
var arrowElement = document.getElementById ("arrowRight");
var showElement = document.getElementById ("dropdownText");
if(showElement.style.display == 'none')
{
showElement.style.display = 'block';
document.getElementById("arrowRight").style = "transform: rotate(+90deg)";
}
else
{
showElement.style.display = 'none';
document.getElementById("arrowRight").style = "transform: rotate(0deg)";
}
}
<p class="dropdownHeader">TOP <span id="arrowRight" class="arrowRight" onclick="toggleDivFunction();"> > </span></p>
<div class="dropdownText" id="dropdownText">
<p>TEXT TO BE SHOWN</p></div>

关于javascript - onclick javascript 函数仅在第二次单击时起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43557333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com