代码之家  ›  专栏  ›  技术社区  ›  Zed

奇数和偶数元素的事件处理程序

  •  0
  • Zed  · 技术社区  · 11 年前

    我有一堆带有css类选项的span元素

    <div>
    <span class="option">
    </div>
    <div>
    <span class="option">
    </div>
    <div>
    <span class="option">
    </div>
    <div>
    <span class="option">
    </div>
    

    我想选择所有这些,然后将事件处理程序附加到它们的mouseover事件。我最终得到了这样的结果:

     $$('.option').addEvents({
          'mouseover': function() {
                // code
    
           },
    
    });
    

    但我不知道如何在事件处理程序中判断当前选择的元素是偶数还是奇数,所以我可以根据这些信息做不同的事情。

    2 回复  |  直到 11 年前
        1
  •  1
  •   nwellnhof    11 年前

    尝试使用 each 以对选项进行迭代。这将为您提供当前索引:

    $$('.option').each(function(elem, i) {
        elem.addEvents({
            mouseover: function() {
                if (i % 2) {
                    // odd
                }
                else {
                    // even
                }
            }
        });
    });
    
        2
  •  1
  •   Adidi    11 年前

    您可以按不同的布局排列元素,然后使用mootools平滑的偶数、奇数选择:

    http://jsfiddle.net/49zpm/1/

    $$('.option:even').addEvents({
        'mouseover': function () {
            console.log('mouseover even');
        }
    
    });
    
    
    $$('.option:odd').addEvents({
        'mouseover': function () {
            console.log('mouseover odd');
        }
    
    });