Mootools:获取下一个元素,直到与css类匹配并切换幻灯片

时间:2014-12-06 13:51:59

标签: css mootools slide next

对不起,我不是一个真正的程序员,但我试图了解mootools的运作方式以及我做错了什么。

window.addEvent('domready', function() {

$$('.wl').addEvent('click', function() {
    this.getNext().getNext().getChildren('.wd').slide();
});

});

HTML:

<li>
<a class="wl" href="javascript:;">main</a>
<span class="dictinfo"></span>
<div class="wd">
</div>
</li>

HTML2:

<li>
<a class="wl" href="javascript:;">main</a>
<audio id="audio1" src="audio1.mp3"></audio>
<span class="dictinfo"></span>
<button>Click</button>
<div class="wd"></div>
</li>

第一个例子可以很好地滑入和滑出&#34; wd&#34;什么时候&#34; wl&#34;点击。然而,在第二个例子中它不起作用,因为标签的顺序是不同的。我可以通过添加更多getNext()来解决这个问题,但我希望这是动态的,即我希望脚本能够获得下一个元素,直到遇到带有&#34; wd&#34;上课并开展工作。现在它太僵硬了,它必须是灵活的,让我可以自由地添加中间的元素&#34; wd&#34;和&#34; wl&#34;。

1 个答案:

答案 0 :(得分:2)

将评论写入答案。

使其不那么严格/依赖于特定标记可以通过两种方式完成:

$$('.wl').addEvent('click', function(){
    this.getParent('li').getElement('.wd').slide();
});

上面的优点是不关心li中元素的嵌套结构,它们不需要是链接的兄弟姐妹。

如果他们永远是兄弟姐妹,您也可以使用http://mootools.net/core/docs/1.5.1/Element/Element#Element:getNext

$$('.wl').addEvent('click', function(){
    this.getNext('.wd').slide();
});