tree (дерево)В статье рассмотрено создание на основе JavaScript древовидной структуры с плавно раскрывающимися списками. Начну с примера:
JavaScript:
var t,lit,i;
function tree(liter) {
lit=liter; //литера
i=1; //счетчик
t = setInterval(show, 75); //развертываем/сворачиваем с заданным интервалом
}
function show() {
var el;
if(el = document.getElementById(lit + i)) {
el.style.display = (el.style.display == 'block')?'none':'block';
i++;
}
else clearInterval(t);
}
HTML:
проблемы:
Комментарии:mrded 16.08.08 23:43 не вижу рекламы на этом сайте. сорри, фаерфокс все режет. но автору спасибо :-* Михаил 23.02.09 12:51 А вот еще рабочий пример дерева http://nulay.narod.ru/ vnilov 22.03.09 12:37 автору ОГРОМНОЕ спасибо! Побольше бы таких ресурсов в РУнете! shark182 21.05.09 18:12 Отлично, а насколько сложно сделать чтобы пункты меню закрывались не повторным нажатием, а при нажатии на другие пункты? Alek Veritov 22.05.09 00:01 to shark182: совсем не сложно - при нажатии на пункт сначала закрывайте все в цикле, а затем открывайте тот, на который нажали. Задача усложнится, если будет больше одного уровня вложенности - их нужно будет учитывать, чтобы не закрыть родительский пункт вместе с нажатым элементом shark182 22.05.09 13:34 to Alek Veritov: Не ожидал настолько быстрой реакции. Нельзя ли подробнее? Меню например с одним уровнем вложенности. Думаю это дополнение пригодится и другим. shark18 25.05.09 17:08 to Alek Veritov: У меня уже цифры с ника выпадать стали от мозгового штурма. I need help! Как сначала закрыть все ветки и открыть нужную? P.S. А я вам на баннер кликну)) shark182 25.05.09 18:18 Заработало, но конструкция довольно громоздкая получилась. Через id и каждому элементу прописывается нечто вроде: document.getElementById('s1').style.display='none'; и т.д. $ezh 11.01.10 15:53 Разрешите вопрос. Каким образом организован цикл по переменной i. можно объяснить? $ezh 11.01.10 15:53 Разрешите вопрос. Каким образом организован цикл по переменной i. можно объяснить? ganjour 15.03.10 16:07 так проще и понятнее: ganjour 15.03.10 16:08 забыл: и работает даже в IE ))) vadim 20.03.10 14:39 Подскажите пожалуйста как можно запомнить позицию на которой открыто дерево. Чтоб оно не сворачивалось после обновления страницы Alek Veritov 20.03.10 21:12 Запомнить позицию можно в куках или в сессии, а при обновлении восстанавливать. Про то, как это сделать на чистом javascript'е можно почитать здесь - http://xhtml.ru/2008/05/14/sessvars/ vadim 22.03.10 13:22 А подскажите пожалуйста для того что бы запомнить позицию достаточно запомнить значение переменной i в функции show()? Rus 13.10.10 01:25 Здравствуйте! Ksanti 17.03.11 00:49 Спасибо Автору, не респект Автору за простоту =))) все просто до ужаса =))) а самое главное я нашел в этом то что искал !!! Ksanti 17.03.11 00:57 "Rus" я не глядел к автору кода в код, но могу сказать что подобное сделать можно с помощью css пример "cursor:pointer;" Если вам помогла или просто понравилась эта статья вы можете отблагодарить автора кликнув по рекламе. Спасибо! комментировать:
прежде чем писать комментарий убедитесь, пожалуйста, что он не попадает в нижеследующие категории:
прямые оскорбления кого бы то ни было будут удалятся! от кого: |


