ポートフォリオに Cycle の複数のインスタンスを使用しています。1 つだけが表示され、他は非表示になります。各サイクルは、複数の画像を含むプロジェクトです。
私が理解できない唯一のことは、«現在の» Cycle インスタンスの終わりを検出する方法です。
after: 関数を使用すると、一度にすべてのインスタンスに対してトリガーされ、« ローカル » イベントを取得できません。
これが私のコードです:
$('.sldr_closeup').each(function() {
var currId = $(this).attr('id');
window['num_'+currId] = 0;
$(this).cycle({
timeout:0,
speed:500,
fx:'fade',
next:'.nextimages',
prev:'.previmages',
fit:1,
nowrap:1,
autstop:0,
after : function(c,n,o,f) {
var currId = $(this).parent('div').attr('id');
(f) ? window['num_'+currId] ++ : window['num_'+currId] --;
if ((o.slideCount == window['num_'+currId] )) {
alert(currId);
$('.nextimages').stop().fadeTo(400,0,function(){
if(currId != $('.projectList .projet').last().find('a').attr('rel'))
$('.nextproject').stop().fadeTo(400,1);
$(this).hide();
});
}
}
}).cycle('pause');
});