теги div-включить и выключить

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

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

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


person rashneon    schedule 21.12.2008    source источник


Ответы (3)


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

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

person YonahW    schedule 21.12.2008
comment
jQuery имеет функцию переключения $('#div1').toggle( function() { $('#logoEasterEgg').show(); }, function() { $('#logoEasterEgg').hide(); } ); - person bendewey; 21.12.2008
comment
спасибо за этот отличный совет. это точно пригодится - person YonahW; 22.12.2008

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

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

MM_showHideLayers('logo','','show','logoEasterEgg','',show');hide_function();

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

Изменить:

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

MM_showHideLayers('logo','','скрыть','logoEasterEgg','',show');

person Andrew Hare    schedule 21.12.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')">
person Jeremy Bade    schedule 21.12.2008