Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Показать/скрыть два DIV (https://javascript.ru/forum/dom-window/55351-pokazat-skryt-dva-div.html)

ozzee 24.04.2015 04:15

Показать/скрыть два DIV
 
Здравствуйте!
На странице имеются 2 div'а. При попытке скриптом поменять сначала display: 'block', а потом visibility, все равно отображается только один div. Без скрытия все два блока отображаются. Оба блока имеют один ID.
Вот кусок кода:
function showmenu()
{
if(mop == false)
{
mop=true;
document.getElementById("lmenuid").style.width = 256;
document.getElementById("mit").style.visibility = 'visible';
}
else
{
mop = false;
document.getElementById("lmenuid").style.width = 0;
document.getElementById("mit").style.visibility = 'hidden';
}

Это боковое меню, поэтому если оно закрыто, то элементы скрываются. Надеюсь на вашу помощь!

laimas 24.04.2015 05:45

Оба блока имеют один ID - в этом и проблема, не могут два и более элементов иметь один и тот же ID.

ozzee 24.04.2015 11:43

Спасибо! А можно ли как-нибудь универсально сделать для всех блоков?

laimas 24.04.2015 11:53

Можно, только не универсально. ) Либо коллекцию получать и управлять ее свойствами, либо, если у вас всего два DIV, то можно поместить их в родительский div, а получая их, инвертировать их индекс посредством операции XOR, и тогда текущий к примеру показываем, а с противоположным индексом скрываем.

рони 24.04.2015 11:53

ozzee,
введите в поиск по форуму "открывашка"

ozzee 24.04.2015 12:07

Точно, достаточно сделать невидимым родительский DIV! Спасибо вам большое!

laimas 24.04.2015 12:26

Не понятно кому спасибо, но на всякий случай - я говорил о переключателе, а не о скрытии родительского элемента.

ozzee 24.04.2015 12:38

Цитата:

Сообщение от laimas (Сообщение 368047)
Не понятно кому спасибо, но на всякий случай - я говорил о переключателе, а не о скрытии родительского элемента.

Спасибо вам. И Рони, ибо я бы не догадался :)


Часовой пояс GMT +3, время: 03:51.