Тема довольно исхоженная, но древняя. Почему “НО”? Потому что попытка тупо нагуглить решение дала россыпи и развалы кода ещё со времён IE4. Понятно, что эти примеры теперь работают не так как надо. Прогресс не стоит на месте, и браузеры вместе с ним. Однако.
Нужный код найти удалось, и чтобы опять не потерять описываю его здесь. Теперь принято играть атрибутом display.
Чтобы сделать его невидимым ему присваивают none, чтобы отобразить присваивают block. А дальше дело техники:
В стилях:
.div_container{ .................... display : none; /* сделать DIV для начала невидимым */ /* display : block; хотя можно и видимым */ }
В странице:
<input type='button' value='Открыть DIV' onclick="toggle_visibility('my_div')"> <div id='my_div' class='div_container'> БЛА-БЛА-БЛА-БЛА <input type='button' value='Закрыть DIV' onclick="toggle_visibility('my_div')"> </div>" ;
А ещё в HEAD страницы добавить функцию на Javascript:
<script type="text/javascript"> <!-- function toggle_visibility(id) { var e = document.getElementById(id); if(e.style.display == 'block') e.style.display = 'none'; else e.style.display = 'block'; } //--> </script>
Эту функцию писал не я. Я её честно взял использовал и перепечатал. Если бы я знал автора – я бы поставил линк, но к сожалению этот скрипт так расползся по сети, что первоисточника уже не найти ((
Пока всё. Думаю-таки сегодня разродиться новой версией тестера хостеров =)
Посты по теме:
RSS-подписка
а visibility: hidden не прокатывает для старых IE?
Даже интересно стало, решил испытать. Попробовал тупо заменить display на visibility, block на visible, none на hidden.
На FF3 и IE6 работает нормально )))
А старее и не надо
Одно только отличие:
visibility: hidden – блок спрятан, но занимает пространство.
display: none – блок даже не генерируется.