Теги включения и выключения - PullRequest
0 голосов
/ 21 декабря 2008

Должно быть, вы, ребята, очень просты ... div one нажимается, появляется div два. Чего я не знаю, так это сделать, чтобы div 2 исчез при повторном нажатии на div 1.

<img src="/..." width="" height"" onClick="MM_showHideLayers('logo','','show','logoEasterEgg','',show')">

Что я должен добавить к этой строке кода, чтобы div 'logoEasterEgg' исчез при повторном нажатии на изображение в div 1?

Ответы [ 3 ]

3 голосов
/ 21 декабря 2008

Вы можете сделать что-то похожее на то, что было предложено в ответ на этот вопрос с jQuery.

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

0 голосов
/ 21 декабря 2008

Вместо использования MM_showHideLayers () вы могли бы сделать что-то подобное ...?

function toggleDiv(divId)
{
  var myDiv = document.getElementById(divId);
  if (myDiv) 
  {
    if (myDiv.style.display === 'none') 
    {
      myDiv.style.display = 'block';
    }
    else
    {
      myDiv.style.display = 'none';
    }
  }
}

<img src="/..." width="" height"" onClick="toggleDiv('logoEasterEgg')">
0 голосов
/ 21 декабря 2008

Вам нужно добавить еще один вызов функции, чтобы скрыть другой div после первого вызова, чтобы показать его.

Атрибут onclick будет выглядеть примерно так:

MM_showHideLayers ( 'логотип', '', 'шоу', 'logoEasterEgg', '', шоу '); hide_function ();

Атрибут onclick позволяет использовать столько javascript, сколько вам нужно, вы можете добавить туда столько функций, сколько захотите - только не забывайте свои точки с запятой.

Изменить:

Прочитав немного о MM_showHideLayers Я думаю, что вам нужно изменить функцию, чтобы закрыть div, который необходимо закрыть. Другими словами, если вы хотите закрыть logo, тогда создайте атрибут onclick (обратите внимание на hide ):

MM_showHideLayers ( 'логотип', '', ' 1024 * шкура *', 'logoEasterEgg', '', шоу ');

...