スライダーに jQuery Cycle プラグインを使用しています。スライダーが次のスライドに移動する前に、次のリンクがクリックされたときに関数を完了する必要があります。
現時点では、「before」関数が完了する前に次のアクションが発生するのを防ぐ方法がわかりません。以下のコードを使用しています。
$('#marques-slider').cycle({
fx: 'scrollHorz',
transition: 'scrollHorz',
timeout: 0,
prev: '#prev-slide',
next: '#next-slide',
pager: '#nav',
easing: 'easeInOutExpo',
speed: 1000,
before: slideUp,
after: slideDown,
startingSlide: 1
});
現在、私の onBefore 関数と次のスライド関数の両方が同時にアニメーション化されています。
また、プラグインの外に次のリンクを作成してみました:
$('#next-slide').click(function(){
$('.marques-product-content').animate({
height : '0'
}, function(){
$('#marques-slider').cycle('next');
});
return false;
});
ただし、これにより、スライドの背景画像がアニメーション化する前に変化し、機能が最初のクリックでのみ機能するというファンキーな動作が発生します:/