所以,我是HTML的初学者,并且想知道是否可以做我在下面尝试做的事情。它崩溃了,但我不确定唯一的原因是我的语法,还是根本不可能。
功能声明:
<!-- Copyright 2005, Sandeep Gangadharan -->
<!-- For more free scripts go to http://www.sivamdesign.com/scripts/ -->
if (document.getElementById) {
document.writeln('<style type="text/css"><!--')
document.writeln('.texter {display:none} @media print {.texter {display:block;}}')
document.writeln('//--></style>') }
function close(theID) {
if (document.getElementById(theID).style.display == "block") { document.getElementById(theID).style.display = "none" } }
function open(theID) {
if (document.getElementById(theID).style.display == "block") { document.getElementById(theID).style.display = "none" }
else { document.getElementById(theID).style.display = "block" } }
// -->
</script>
</head>
使用该功能:
<table>
<tbody>
<tr>
<td colspan="2" rowspan="0">
<div>• <a href="/tallwalls/" target="_blank"><b>Tall Walls Sizer</b></a></div>
<p onClick="open('a4'), close('a1','a2','a3')" style="cursor:hand; cursor:pointer">
<span style="color: #808080;">[Click here for more information]</span></p>
</td>
</tr>
<tr id="a4" class="texter">
<td style="padding:0px;width:210px;"><a href="/tallwalls/" target="_blank" title="Tall Walls Sizer"><img src="/images/logos/tallWALLS.gif" alt="" width="206" height="41"/></a></td>
<td>
<div>DESCRIPTION</div>
</td>
</tr>
</tbody>
</table>
主要是 onClick =“open('a4'),close('a1','a2','a3')”是我不确定这是否是正确的语法。< / p>
编辑:忘记提及其他ID确实存在。它们由相同的模式x4
组成提前致谢,
SirKaydian
答案 0 :(得分:2)
Javascript行结束;所以你需要先使用open('a4');
此外,您只为一个参数定义了close(),因此您需要将close('a1','a2','a3')
拆分为close('a1'); close('a2'); close('a3');
如果您是HTML新手,我建议您阅读一些关于jQuery的内容。它的hide()和show()方法将使你想要做的事情变得非常简单。
答案 1 :(得分:1)
试试这个 - 您需要使用分号来分隔函数调用。请参阅related SO post regarding usage of semicolons。
<p onClick="open('a4');close('a1');close('a2');close('a3'); return false;"/>
答案 2 :(得分:1)
让我们考虑你的方法关闭(theID):
function close(theID) {
if (document.getElementById(theID).style.display == "block") { document.getElementById(theID).style.display = "none" } }
此函数只接受一个参数,并且您尝试在多个参数上应用close。在这种情况下,代码看起来像
function close(){
if(arguments.length > 0 ){
for(var i=0; i<arguments.length; i++){
closeMe(arguments[i]);
}
}
}
function closeMe(id){
if (document.getElementById(theID).style.display == "block") {
document.getElementById(theID).style.display = "none"
}
}
同样是你的开放功能。
您的onClick处理程序存在严重问题
onClick =“open('a4'),close('a1','a2','a3')”
应该是
onClick ="open('a4'); close('a1', 'a2', 'a3');"