Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Spoiler


Автор: Exploder 2.3.2009, 12:06
Сделал спойлер основываясь http://irridium.spb.ru/articles/show/116
Появился такой вопрос, можно ли сделать так, чтобы всегда был открыт только 1 спойлер(если их например список), т.е. я открываю спойлер и если до этого был уже открыт какой-то другой - он автоматически закрывается ???

Вот код реализации спойлера.
Код

window.addEvent('domready', function() {
//Этот "контейнер" нужно обязательно создавать, иначе Mootools работать не будет

/* Spoiler */
var spoilers = $$('.spoiler'); // Заносим в переменную все divвы с классом spoiler
spoilers.getElement('.sp-head').addClass('folded'); // Добавляем всем divам с классом spoiler подкласс folded, чтобы отображался плюсик
 
spoilers.each(function(element) { // Выполняем этот цыкл для каждого элемента страницы с классом spoiler
   var fx_sp_opac = new Fx.Styles(element.getElement('.sp-body'), {duration: 600, transition: Fx.Transitions.Expo.easeInOut}); // объявляем эффект прозрачности при
// свертывании и развертывании спойлера

// Объявляем эффект Slide из библиотеки mootools который и будет сворачивать и разворачивать наш спойлер
   var fx_sp_slide = new Fx.Slide(element.getElement('.sp-body'), {duration: 600, onStart: function() {
fx_sp_opac.start({'opacity': [0.5, 1]});
   } });
 
   fx_sp_slide.hide(); // Прячем содержимое спойлера при загрузке страницы
   element.getElement('.sp-head-click').addEvent('click', function(){ // Добавляем эвент (событие), которое будет выполнятся при щелчке по заголовку спойлера
   element.getElement('.sp-head').toggleClass('unfolded'); // Меняем значок статуса спойлера на противоположный (плюс на минус или минус на плюс)
   fx_sp_slide.toggle(); // Переключаем статус спойлера (спрятать, если он виден,  или показать в противном случае)
     }); // addEvent

}); //each
/* Spoiler - Все */
 }); //Конец window.addEvent 


Буду рад любой помощи, спасибо smile

Автор: Exploder 2.3.2009, 14:20
Вопрос с повестки дня снят smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)