使用CSS,基本上有两个类,一个用于选项卡默认颜色,一个“选定”的CSS类,使用JavaScript应用于任何一个选项卡。
控件功能完美,但动态CSS仅适用于IE7和IE8。
代码基本上是这样的:
for (var i = 0; i < group.children.length; i++)
{
child = group.children[i];
// Remove class (selected)
child.className = "";
从每个元素中删除“selected”css类。默认的CSS是自动的,没有使用class =指定,所以基本上这会将它们恢复为默认值。
然后在另一个逻辑之后,它将选定的CSS应用于单击的任何一个:
// Set selected tab
tab.className += "SelectedTab";
我做错了吗?在IE7 / 8中似乎没问题但是Firefox最初正确地渲染了选项卡,第一个选项卡被“选中”,但是当我单击另一个选项卡时,它会正确清除第一个选定的CSS,但是不会应用“选中”再次css到下一个标签。
答案 0 :(得分:1)
在Firefox中使用DOM检查器查看页面,并通过使用错误控制台或Firebug确保JavaScript没有问题。
如果您可以发布更多代码,甚至更好的链接到测试页面,那么我们可以为您提供更多帮助。现在,我们对您发布的代码所做的工作并不多。
答案 1 :(得分:1)
JQuery这种东西非常棒。
$(child).removeClass("SelectedTab");
$(tab).addClass("SelectedTab");