人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

jqueryの質問です。
dumbcrossfade (http://storage.sebringcreative.com.s3.amazonaws.com/jquery/dumbCrossFade.htm)の
スクリプトを利用してフェードイン&アウトで画像を表示する実装を試みてます。

ところがデフォルトだと画像が自動ループになってしまいます。
これをjsの追記で「1回の読込みのみ」とする事は出来るのでしょうか?

該当箇所をご教授して頂ければと思います。
宜しくお願い致します。



●質問者: mune0628
●カテゴリ:ウェブ制作
✍キーワード:jQuery js スクリプト デフォルト ループ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● regnif
●100ポイント ベストアンサー

jquery.dumbcrossfade-1.3.min.jsを修正するのは、あまり適当ではないですが、ポイントだけ抜き出すと

var currentIndex=config.index;var nextIndex=(arguments.length>0)?arguments[0]:(config.index>=itemArray.length-1)?0:config.index+1;

var currentIndex=config.index;var nextIndex=(arguments.length>0)?arguments[0]:(config.index>=itemArray.length-1)?currentIndex:config.index+1;

と変更すればOKです。

一応、すべてのコードも載せておきます。

// 2009 Hubsoft.com && SebringCreative.com (written by Jason Sebring, mail@jasonsebring.com) - Dual licensed under the MIT and GPL licenses.
(function($){$.fn.dumbCrossFade=function(settings){var config={'index':0,'showTime':5000,'transitionTime':1000,'doHoverPause':true,'maxZIndex':100,'slideChange':null};var timeOut=null;var itemArray=[];var blockAnimation=false;var lastIndexRequest=-1;function cancelCrossFade(){if(timeOut!==null){window.clearTimeout(timeOut);timeOut=null;}}
function doCrossFadeNow(){if(blockAnimation){if(arguments.length>0){lastIndexRequest=arguments[0];}
return;}
var currentIndex=config.index;var nextIndex=(arguments.length>0)?arguments[0]:(config.index>=itemArray.length-1)?currentIndex:config.index+1;if(currentIndex==nextIndex){return;}
itemArray[currentIndex].css('z-index',(config.maxZIndex-1)+'');itemArray[nextIndex].css('z-index',config.maxZIndex+'');blockAnimation=true;itemArray[nextIndex].fadeIn(config.transitionTime,function(){itemArray[currentIndex].hide();blockAnimation=false;if(lastIndexRequest!=-1){doCrossFadeNow(lastIndexRequest);lastIndexRequest=-1;}});if(config.slideChange!==null){config.slideChange(nextIndex);}
config.index=nextIndex;}
function doCrossFade(){cancelCrossFade();timeOut=window.setTimeout(function(){doCrossFadeNow();doCrossFade();},config.showTime);}
if(settings)$.extend(config,settings);this.each(function(){(itemArray.length===config.index)?$(this).show():$(this).hide();if(itemArray.length===0){if(config.doHoverPause){$(this).parent().hover(function(){cancelCrossFade();},function(){cancelCrossFade();doCrossFade();});}}
itemArray[itemArray.length]=$(this);});doCrossFade();var publicAccessor={'jump':function(index){cancelCrossFade();doCrossFadeNow(index);return publicAccessor;},'start':function(){doCrossFade();return publicAccessor;},'stop':function(){cancelCrossFade();return publicAccessor;}};return publicAccessor;};})(jQuery);
◎質問者からの返答

i4ooonさん!、早速のご回答ありがとうございます!

ご指摘頂いた箇所を修正したら意図した通りに動作しました!

こんなに早く解決するなんて…とても感激しました。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ