Связывание событий в mootools при переключении ()

#mootools

#mootools

Вопрос:

У меня есть событие переключения для конкретного div, которое работает нормально,
вот демонстрация http://jsfiddle.net/b5SVg/9 / проблема в том, что у меня есть внешний контейнер, который мне нужно скрыть при загрузке и показать / скрыть при переключении. В настоящее время мой блок отображения контейнера запускается первым, и мне нужно, чтобы он был включен с помощью переключателя. Я знаю, вы можете подумать, что я должен поместить контейнер внутрь переключателя, но я не могу, поскольку FX.slide добавляет div вокруг элемента переключения, который скрыт от переполнения и имеет позицию. мой контейнер должен оставаться там, где он есть. Пожалуйста, сообщите

Ответ №1:

Прочитайте комментарии к приведенному ниже коду 😉

 var container = $$('.container').setStyle('display','none'); //cache container (useful for the 'future' ;) )"

var mySlide= new Fx.Slide('hidden').hide();

$('toggle').addEvent('click', function(event){

    event.stop();

    container.setStyle('display','block'); //put it before the toggle

    mySlide.toggle().chain(function(){ //at the end of the sliding, this callback will be called
        if(!this.open){ //if it's closed
            container.setStyle('display', 'none'); //hide the container
        }
    });

});
  

Демонстрация: http://jsfiddle.net/amgyw/1 /

..кстати, вы также можете использовать надлежащий экземпляр элемента ‘slide’ без объявления var mySlide = ... ..например, т.е. $('hidden').get('slide').toggle()

Комментарии:

1. Добро пожаловать, @Benn .. если вы обнаружите, что ответ (или, вообще, ответ на ваш вопрос) правильный, пожалуйста, отметьте его как принятый 😉