我是一个非常新的网络开发人员,学习 html5 和 javascript。
我有一个带有“标签”的网页,它使网页的某些部分消失并重新出现。
链接是这样的:
<a href="?tab=1" id="t1" class="tab" onclick="switchf('Home',this)">HOME</a>
和javascript函数switchf()
是这样的:
function switchf(field,tab) {
var divs = ["Home","About","Chatroom","Account","Contact","Signup"];
for(var j = 0; j < divs.length; j++) {
if(field != divs[j])
document.getElementById(divs[j]).style.display = "none";
else
document.getElementById(divs[j]).style.display = "block";
}
var t = document.getElementsByClassName("tab");
for(var i = 0; i < t.length; i++) {
t[i].style.backgroundColor = "#dddddd";
}
tab.style.backgroundColor = "#cccccc";
document.getElementsByTagName("title")[0].innerHTML = field;
}
它需要两个参数 - 要显示的页面部分和按下的选项卡。
它循环浏览页面的各个部分并将它们全部更改为display="none"
,然后转到所有选项卡并将它们更改为backgroundColor="#dddddd"
。
然后它会选择正确的选项卡来更改颜色并选择要显示的页面的右侧部分。
但是,当我this
作为参数 ( onclick="switchf('Home',this)"
) 传递时,它不会改变颜色 ( tab.style.backgroundColor = "#cccccc";
)。
这是this
作为参数传递的正确方法吗?我认为这将是最简单的方法 - 但我以前从未在 js 中使用过它,它在此示例中不起作用。
像我所有其他错误一样,这可能是一个非常简单的错误,但请指出来。
谢谢。