|
|
|
| Прошу помощи в реализации.
Нужно сделать, чтобы после нажатия на ссылку "показать все/скрыть все", либо показывались все блоки, либо скрывались все. html приведен ниже если есть возможность то лучше его не изменять, так как он генерируется PHP скриптом.
<a href="#" onclick="??? hideshowall ???? ">показать все/скрыть все</a>
<ul>
<div id="root" style="display='none'"> <a href="#" onclick="hideshow('perviy')">первый</a> <br>
<ul>
<div id="perviy" style="display='none'"> <a href="#" onclick="hideshow('podrazdel1')">название в меню</a> <br>
<ul>
<div id="podrazdel1" style="display='none'"> <a href="#" onclick="hideshow('chetire')">название в меню3</a><br>
</div>
</ul>
<a href="#" onclick="hideshow('piatiy')">название в меню4</a> <br>
<ul>
<div id="piatiy" style="display='none'"> <a href="#" onclick="hideshow('nazvanie_v_menyu')">название в меню</a><br>
<ul>
<div id="nazvanie_v_menyu" style="display='none'"></div>
</ul>
<a href="#" onclick="hideshow('privyazka')">привязка</a><br>
<ul>
<div id="privyazka" style="display='none'"></div>
</ul>
</div>
</ul>
<a href="#" onclick="hideshow('tretiy')">название в меню2</a><br>
</div>
</ul>
</div>
</ul>
|
| |
|
|
|
|
|
|
|
для: zavragnov
(26.12.2006 в 13:29)
| |
<script>
function switcher {
var el=document.getElementById('screen');
if (el.style.display=='none') {
el.style.display = 'inline'; //или 'block' если это блочный элемент
}
else {
el.style.display='none';
}
}
</script>
|
И прикручиваем этот скрипт к хтмл:
<a href="javascript: switcher()">клик</a>
<div id='screen'>
текст
</div>
|
не гарантирую работу, потому что писал на коленке. Но смысл такой. Попробуй - вдруг получится? ;) | |
|
|
|
|
|
|
|
для: SHAman
(26.12.2006 в 13:46)
| | Спасибо, но этот скрипт не работает, да и разве он открывает все элементы или только с определенным id, мне нужно развернуть (показать\скрыть) одновременно все с разными id | |
|
|
|
|
|
|
|
для: zavragnov
(26.12.2006 в 14:21)
| | up | |
|
|
|
|
|
|
|
для: zavragnov
(26.12.2006 в 14:21)
| | Маааааааааааленький вопрос: а зачем у div-ов, которые эл-ты списка стоит display:none?
Его надо убрать, и код, данный SHAman-ом будет работать! | |
|
|
|
|
|
|
|
для: Фитч
(26.12.2006 в 19:07)
| | Я уже писал выше html править не желательно, а display:none у дивов не просто так, у меня есть скрит корторый открывает/скрывает отдельные ветви данного дерева и по умолчанию все слои скрыты. А мне надо сделать чтобы все дерево раскрылось полностью, чтобы по отделности каждую ветвь не открывать.
PS
Знаю как это сделать на PHP, но это не подойдет - сраницу перегружать нельзя! Так что только JavaScript. | |
|
|
|
|
|
|
|
для: zavragnov
(26.12.2006 в 21:34)
| | ну и поснимайте у всех программно style.display :
document.getElementById('perviy').style.display=''; , и так у всех, и потом не ставить, управлять только 'root'. Вообще-то HTML править придётся, он не просто невалидный - неграмотный. UL может содержать только cgbcrjdst элементы (LI, UL, OL). | |
|
|
|
|
|
|
|
для: Фитч
(26.12.2006 в 19:07)
| | Он и так будет работать.
zavragnov : чтобы скрипт, написанный SHAman-oм, заработал, его ещё переписывают, прямо из форума он не подействует на ваш компьютер.
Это ж не заряженная вода. | |
|
|
|
|
|
|
|
для: 12345
(26.12.2006 в 22:02)
| | Уважаемый 12345 я много читал ваших постов. Мож вы поможете переписать. А приведенный SHAman-oм нерабочй проверьте сами. | |
|
|
|
|
|
|
|
для: zavragnov
(26.12.2006 в 22:20)
| | Не, ну это взять и писать руками. Можно в цикле. У каждого тега, где display:none, надо установить "пусто". Хотя разумнее это из кода убрать. Но если Вам нужно убирать из кода скриптом, делайте.
Код SHaman над вашим куском кода будет нерабочим, потому что там всё невидимо. После однократного убирания стилей невидимости он начнёт работать (про UL-DIV-LI не забудьте - тоже причина не делать пример: даёте неграмотный код с условием: его править нежелательно. Ну ваше право работать с неправильным кодом.). | |
|
|
|
|
|
|
|
для: 12345
(26.12.2006 в 22:50)
| |
...
<script language="javascript">
function openfull(ID)
{
if(!document.all[ID]) return false;
if(document.all[ID].style.display == "none")
{
document.all[ID].style.display = "";
}else
{
document.all[ID].style.display = "none";
}
return false;
}
</script>
...
<div>
<a href="index.php" onClick="return openfull('textshow');" title="Скрыть/Показать Все">Скрыть/Показать Все</a>
<p id="textshow" style="display: none;">
Текст
</p>
</div>
|
| |
|
|
|