そのため、一度にさまざまな要素をアニメーション化するカスタムトランジションがあります。ユーザーが (アニメーションが終了する前に) 次のスライド ボタンを素早くクリックすると、あらゆる種類の問題が発生します。これを解決するにはどうすればよいですか?リンク上のアクティブなクラスを追加/削除するという単純なアイデアを試しましたが、うまくいきませんでした。
問題を示す jfiddle は次のとおりです。http://jsfiddle.net/SHRA6/12/
これが私のjsです:
$.fn.cycle.transitions.slideCustom = function($cont, $slides, opts) {
$caption = $('.serverbig')
$feature = $('.featurehol')
$heading = $('h2')
opts.fxFn = function(curr,next,opts,cb,fwd) {
$feature.animate({ top: '350px' }, 500, opts.easing);
$heading.animate({ left: '-550px' }, 500, opts.easing);
$caption.animate({ right: '-550px' }, 500, opts.easing, function() {
$(curr).animate({ opacity: 0 }, 500, opts.easing, function() {
});
$(next).css({ display: 'block'}).animate({ opacity: 1 }, 500, opts.easing);
$feature.animate({ top: '66px' }, 500, opts.easing);
$heading.animate({ left: '0' }, 500, opts.easing);
$caption.animate({ right: '0px' }, 500, opts.easing, function() {
if(cb) cb();
});
});
}
}
$('#sliderb').cycle({
fx: 'slideCustom',
speed: 'slow',
timeout: 0,
next: '.nextslide',
prev: '.prevslide',
easing: 'easeInOutBack',
slideExpr: '.slide',
});
追加の問題により、不透明度アニメーションを使用してフェードインする代わりに、背景 (メイン スライド) が点滅します。