我使用DreamWeaver创建了一个网站,并且我使用了一个Spry小部件,它只是一个用于导航的边栏,并且可以通过单击它们来打开和关闭标签。你可以打开多个标签,这是我不太喜欢的。当打开一个新选项卡时,我希望它关闭打开的选项卡(因此您总是会打开一个选项卡)。 我从来没有用JavaScript编写程序,我看了一下js文件的代码,并且修改它看起来并不难。在这里,你就会明白:http://pastebin.com/eZAYE0kZ升级javascript功能。没有经验
我看到,当你打开一个标签时所执行的功能是
Spry.Widget.CollapsiblePanel.prototype.onTabClick = function(e)
{
if (this.isOpen())
this.close();
else
{
this.open();
}
this.focus();
return this.stopPropagation(e);
};
,所以我认为正确修改这一条,我可以把它关闭一个是打开。 另外,我realyzed,有在底部的功能,它的目的是要关闭所有标签页(或面板),
Spry.Widget.CollapsiblePanelGroup.prototype.closeAllPanels = function()
{
var cpanels = this.getPanels();
var numCPanels = cpanels.length;
for (var i = 0; i < numCPanels; i++)
{
var w = this.getElementWidget(cpanels[i]);
if (w && w.isOpen())
w.close();
}
};
所以我想通过调用与前一个这个功能(假设我不”没有一个标签,所以它不会形成一个大的陷阱),我可以找到打开的标签,并关闭它。所以我修改了第一个,因为我显示,
Spry.Widget.CollapsiblePanel.prototype.onTabClick = function(e)
{
if (this.isOpen())
this.close();
else
{
this.closeAllPanels();
this.open();
}
this.focus();
return this.stopPropagation(e);
};
但它甚至不打开标签了。我不知道错误在哪里,因为我从来没有用Javascript编码过。
为您打开开发人员工具浏览器,看看您是否能在控制台中看到错误。如果出现错误,请尝试修复,否则请在onTabClick上设置一个中断点,看看有什么问题。在Firefox中,你将需要在IE浏览器中使用Chrome开发者工具(Ctrl + Shift + c)的Firebug,我认为他们称之为开发者工具,F12将它们从内存中提取出来。 –