Mootools设置className

时间:2011-06-07 13:59:10

标签: mootools

我有一个事件列表,onClick元素展开,他们应该在第二次点击时反其道而行之。这是我的小脚本中不起作用的部分。为什么不?

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 个答案:

答案 0 :(得分:1)

怎么样

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

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

答案 1 :(得分:0)

这里的问题是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');
    });
  });
});

来自奥地利的欢呼;)