対象NodeをCSSのtransformで回転させ、90°のタイミングでNode内の表示内容を切り替える。
切り替える内容は、対象Nodeの子Nodeとして記述しておく。子Nodeの数だけ切り替えが行われて、ループする。なお、最初に表示しておく1つの子Node以外は「display: none」に設定しておくこと。
表示中の子Nodeの class には「sw_now」が追加されるので、必要に応じて別処理で参照可能。また、ページ読み込み時の最初の子Nodeを任意に設定したい場合も class に「sw_now」を設定することで対応可能。
「transform-origin」の設定は不要。50%でないと動きが不自然になるなるので初期値で良い。
4つの子Nodeを持った親Nodeを対象としたサンプル。
HTML :
<div id="sample1">
<div class="sw_now">SAMPLE 1 / BOX 1</div>
<div>SAMPLE 1 / BOX 2</div>
<div>SAMPLE 1 / BOX 3</div>
<div>SAMPLE 1 / BOX 4</div>
</div>
Javascript :
$aniRotateSW($id('sample1'),'X',1.8);
$aniRotateSW($id('sample1'),'y',1.5);
$aniRotateSW('sample1','X',1.6,2);
$aniRotateSW('sample1','x',1.6,0,false);