我对javascript编程很陌生,并且陷入了这个问题:我有一个div显示用Flash制作的地图。此闪光灯带有一个放大镜图标,单击该图标可将其称为javascript:
function turnMap()
{
DivSwitcher(map.id);
DivSwitcher(rightcolumn.id);
DivSwitcher(leftcolumn.id);
}
function DivSwitcher(layer)
{
if (document.getElementById(layer).style.display != "none")
document.getElementById(layer).style.display = "none";
else
document.getElementById(layer).style.display = "block";
}
确实存在所有被调用的div,但是具有地图ID的div是通过
display: none
设置的。在IE和Chrome上,此代码都可以正常工作:div可以根据需要隐藏或显示,但在Firefox上则不会发生。我尝试与FireBug一起运行以查看会发生什么:地图未定义
如果你们能给我任何线索,我将不胜感激。
最佳答案
那是因为JavaScript变量map
没有在当前范围内定义,这就是我可以从您的代码中得知的全部。
我的猜测是,您正在尝试通过调用元素的名称来访问该元素,但该名称不受支持。也许您可以尝试:
DivSwitcher('map');
DivSwitcher('rightcolumn');
DivSwitcher('leftcolumn');