Mootools set className - PullRequest
       2

Mootools set className

0 голосов
/ 07 июня 2011

У меня есть список событий, на клике раскрываются элементы, и они ДОЛЖНЫ сделать обратное при втором клике.Это часть моего маленького сценария, который не работает.ПОЧЕМУ НЕ ??

window.addEvent('load',function() {
  $$('.eventlistitempassive').each(function(item) {
    item.addEvent('click',function() { 
    $$('.eventlistitemactive').set('class', 'eventlistitempassive block');
    item.set('class', 'eventlistitemactive block');
    });
  });
  $$('.eventlistitemactive').each(function(item) {
    item.addEvent('click',function() { 
        item.set('class', 'eventlistitempassive block');
        });
  });
}); 

См. Сценарий в действии на http://hoch3.cc/index.php/aktuelles.html Спасибо, PB

Ответы [ 2 ]

1 голос
/ 09 июня 2011

как насчет

window.addEvent('domready', function(){
  $$('.eventlistitempassive').addEvent('click', function(){
      this.toggleClass('bar');
  });
});

http://jsfiddle.net/tofu/aUPtw/

0 голосов
/ 07 июня 2011

Проблема в том, что в window.load нет активного элемента, поэтому ваш второй селектор для добавления событий щелчка по каждому активному элементу ничего не находит. Итак, попробуйте это:

window.addEvent('load',function() {
  $$('.eventlistitempassive').each(function(item) {
    item.addEvent('click',function() { 
        $$('.eventlistitemactive').set('class', 'eventlistitempassive block');
        item.set('class', (item.get('class') == 'eventlistitemactive block' ? 'eventlistitempassive block') : 'eventlistitemactive block');
    });
  });
});

поздравления из Австрии;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...