Javascript函数没有';t正常运行并显示一个框仅1秒
我的javascript函数有问题。当用户点击“szukaj”按钮时,它应该为用户显示一个框。它运行,但只运行大约1秒 HTML代码Javascript函数没有';t正常运行并显示一个框仅1秒,javascript,function,Javascript,Function,我的javascript函数有问题。当用户点击“szukaj”按钮时,它应该为用户显示一个框。它运行,但只运行大约1秒 HTML代码 <p id = "paragraph"> <!--search box--> <input type = "text" name = "serachBar"/> <input type = "button" value = "szukaj" n
<p id = "paragraph"> <!--search box-->
<input type = "text" name = "serachBar"/>
<input type = "button" value = "szukaj" name = "search"/>
</p>
<div id = "searchImage"> <!--search button style-->
<a href = "" onclick = "popUp('paragraph')" >
<img src = "images/searchButton.jpg"/>
</a>
</div>
javascript本身
function popUp(menu){
var box = document.getElementById(menu);
if(!box || box.style.display == "block"){
box.style.display = "none";
}
else {
box.style.display = "block";
}
}
用HTML试试这个
<p id = "paragraph"> <!--search box-->
<input type = "text" name = "serachBar"/>
<input type = "button" value = "szukaj" name = "search"/>
</p>
<div id = "searchImage"> <!--search button style-->
<a href = "#" onclick = "popUp('paragraph')" >
<img src = "images/searchButton.jpg"/>
</a>
</div>
在
如果你还想使用哦,是的,我一定是瞎了眼什么的。Thanx很多。你的javascript有点不好的逻辑。如果(!box)短路,则box.style.display将在null或undefined上调用,这将引发异常。最好在所有显示逻辑周围调用if(box){…}。
<p id = "paragraph"> <!--search box-->
<input type = "text" name = "serachBar"/>
<input type = "button" value = "szukaj" name = "search"/>
</p>
<div id = "searchImage"> <!--search button style-->
<a href = "#" onclick = "popUp('paragraph')" >
<img src = "images/searchButton.jpg"/>
</a>
</div>
<p id = "paragraph"> <!--search box-->
<input type = "text" name = "serachBar"/>
<input type = "button" value = "szukaj" name = "search"/>
</p>
<div id = "searchImage"> <!--search button style-->
<div onclick = "popUp('paragraph')" >
<img src = "images/searchButton.jpg"/>
</div>
</div>
function popUp(menu){
event.preventDefault(); // if using an <a> tag
var box = document.getElementById(menu);
if (box) {
if (box.style.display === "block") {
box.style.display = "none";
}
else {
box.style.display = "block";
}
}
}