【发布时间】:2011-03-28 01:47:40
【问题描述】:
我希望访问者能够展开/折叠某些部分,并且正在使用:
<input onclick="return toggleDiv('xx')"
type="button"
class="button"
value="click here to expand/collapse"/>
在我有这个功能:
function toggleDiv(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;
}
第一次单击按钮时它不起作用,随后单击(在任何按钮上)都可以正常工作。
这里有相关对话: Button needs to be clicked twice to trigger function
但我不明白答案(技术性太强;-), 有人可以帮忙解释一下吗?
【问题讨论】:
-
'xx' div 的定义/样式是什么?
-
我要做的第一件事是打开 FireBug(firefox javascript 开发工具),在 toggleDive 旁边设置一个断点,然后逐步检查,确保一切都如我所想。如果你不想处理这个问题,你可以在你的函数中设置 do alert(e.style.display) 。这可能会对事情有所启发。
-
就在第一个 if 语句之后,添加以下行:alert("display is '" + e.style.display + "'");然后再次运行代码。这应该可以帮助您了解正在发生的事情。
标签: javascript events dom