我有一个简单的输入按钮(不是提交)与onclick函数来显示或隐藏另一个div。出于某种原因,我必须点击按钮两次,一次选择它,然后再次执行该功能。为什么我必须点击这个输入按钮两次来调用一个函数?
这是短版:
<input type="button" id="request_info_layer_button" onclick="showForm()" value="REQUEST INFORMATION" />
function showForm() {
var isdisplayed = document.getElementById("request_info_form_layer_wrapper").style.display;
if (isdisplayed == "none") {
document.getElementById("request_info_form_layer_wrapper").style.display = "block";
document.getElementById("request_info_layer_button").style.borderBottom = "0";
document.getElementById("request_info_layer_button").style.borderLeft = "0";
document.getElementById("request_info_layer_button").style.borderTop = "solid 3px #C4591B";
document.getElementById("request_info_layer_button").style.borderRight = "solid 4px #C4591B";
} else {
document.getElementById("request_info_form_layer_wrapper").style.display = "none";
document.getElementById("request_info_layer_button").style.borderTop = "0";
document.getElementById("request_info_layer_button").style.borderRight = "0";
document.getElementById("request_info_layer_button").style.borderLeft = "solid 3px #DFBC81";
document.getElementById("request_info_layer_button").style.borderBottom = "solid 4px #DFBC81";
}
}
完整的代码和按钮的行为是在这里:http://jsfiddle.net/yp5an1w7/3/
你必须首先设置显示在输入标签的样式属性。只有这样它才能在第一次点击时工作。 – debatanu
Isdisplayed是第一次运行时的空白字符串。添加警报(isdisplayed),你会看到 – dman2306
在我的第一个评论样式显示:无应该被分配给div标签。我已经发布了同样的答案 – debatanu