- ベストアンサー
Crossfader v1.3 を停止するには?
Javascript / CSS Crossfader http://www.brandspankingnew.net/archive/2006/09/javascript_css_crossfader.html div要素をクロスフェードする上記のJavascriptをつかってみたのですが、 たとえば全4枚のdiv要素の4枚目で停止することは可能でしょうか? また、このスクリプト以外でもdiv要素をクロフフェードできて、 何枚目かで停止できるスクリプトはご存知でしょうか? クロスフェードのみの簡易なもので良いのですが、なかなか高機能なものしか見つからず。。。 よろしくおねがいします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
bsn.Crossfader.js: ... _bsn.Crossfader = function (divs, fadetime, delay, stop) // 仮引数の追加 { this.stop = stop || divs.length + 1; // プロパティ設定 this.nAct = -1; this.aDivs = divs; ... } ... _bsn.Crossfader.prototype._fade = function() { this.nTime += this.nInt; ... if (this.nTime == this.nDur) { clearInterval( this.nID2 ); if (this.nAct < this.stop - 1) { // 追加プロパティによる制御文(ブロック開始) if (this.nOldAct > -1) document.getElementById( this.aDivs[this.nOldAct] ).style.visibility = "hidden"; var p=this; this.nID1 = setInterval(function() { p._newfade() }, this.nDelay); } // 追加プロパティによる制御文(ブロック閉じ) } } ... HTML: <script type="text/javascript"> var cf = new Crossfader( new Array('cf1','cf2','cf3'), 500, 2000, 4); // 1から始まる4番目で停止 </script> 改変箇所にはコメントを入れています。
お礼
バッチリでした!ありがとうございます! Javascriptの勉強になりました。