プロが教えるわが家の防犯対策術!

Javascript / CSS Crossfader
http://www.brandspankingnew.net/archive/2006/09/ …

div要素をクロスフェードする上記のJavascriptをつかってみたのですが、
たとえば全4枚のdiv要素の4枚目で停止することは可能でしょうか?

また、このスクリプト以外でもdiv要素をクロフフェードできて、
何枚目かで停止できるスクリプトはご存知でしょうか?
クロスフェードのみの簡易なもので良いのですが、なかなか高機能なものしか見つからず。。。
よろしくおねがいします。

A 回答 (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>


改変箇所にはコメントを入れています。
    • good
    • 0
この回答へのお礼

バッチリでした!ありがとうございます!
Javascriptの勉強になりました。

お礼日時:2012/11/01 17:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!