Почему этот фрагмент javascript работает как в Google Chrome, так и в IE, а не в Firefox? - PullRequest
1 голос
/ 12 января 2011

Я довольно новичок в программировании на 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 существуют, но div с идентификатором карты установлен в display: none. И в IE, и в Chrome этот код работает просто отлично: div скрываются или отображаются как я хочу, но в Firefox этого не происходит. Я попытался запустить с FireBug, чтобы увидеть, что происходит:

карта не определена

Если бы вы, ребята, могли бы дать мне какие-либо указания, я был бы признателен.

1 Ответ

3 голосов
/ 12 января 2011

Это потому, что переменная JavaScript map не определена в текущей области, и это все, что я могу сказать из вашего кода.

Я предполагаю, что вы пытаетесь получить доступ к элементу, вызывая егоимя, которое не поддерживается.Может быть, вы можете попробовать:

    DivSwitcher('map');
    DivSwitcher('rightcolumn');
    DivSwitcher('leftcolumn');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...