[mootools]Fx.Slideを複数並べる

Fx.Slideを1ページ内にいくつも並べるサンプル。
※このサンプルは前バージョン(1.1.2)で書いたものなので1.2では動かないかも

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<h2><a class="toggle" href="#">toggle</a></h2>
<div class="test">
sample
</div>
<h2><a class="toggle" href="#">toggle</a></h2>
<div class="test">
sample
</div>
<h2><a class="toggle" href="#">toggle</a></h2>
<div class="test">
sample
</div>
<h2><a class="toggle" href="#">toggle</a ></h2>
<div class="test">
sample
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
window.addEvent('domready', function(){
var btns = $$('.toggle');
var divs = $$('.test');
 
btns.each(function(el,index){
    var mySlide = new Fx.Slide(divs[index], {mode: 'horizontal'});
     
    btns[index].addEvent('click', function(e){
        e = new Event(e);
        mySlide.toggle();
        e.stop();
    });
});
});

var btns = $$('.toggle');
ボタンになる要素取得。

var divs = $$('.test');
スライドする要素取得。

btns.each(function(el,index){
foreach($btns as $index =>$el) という意味

var mySlide = new Fx.Slide(divs[index], {mode: 'horizontal'});
divsの要素それぞれにFx.Slide作成。

btns[index].addEvent('click', function(e){
クリックイベント作成。

配列で取得した順にeachで処理するので、btns[2]をクリックしたらdivs[3]をスライドさせるということは出来ない。

コメントを残す

This site uses Akismet to reduce spam. Learn how your comment data is processed.