スライドアウトするdiv間でアニメーション化するこのコードがあります。アイテムをクリックすると、関連するコンテンツがスライドアウトします。別の項目をクリックすると、現在のコンテンツがスライド インし、新しいコンテンツがスライド アウトします。
でも、
var lastClicked = null;
var animateClasses = ['ale', 'bramling', 'bullet', 'miami-weisse'];
for (var i=0; i<animateClasses.length; i++) {
(function(animCls) {
$('.each-brew.'+animCls).toggle(function() {
if (lastClicked && lastClicked != this) {
// animate it back
$(lastClicked).trigger('click');
}
lastClicked = this;
$('.each-brew-content.'+animCls).show().animate({ left: '0' }, 1000).css('position','inherit');
}, function() {
$('.each-brew-content.'+animCls)
.animate({ left: '-33.3333%' }, 1000, function() { $(this).hide()}) // hide the element in the animation on-complete callback
.css('position','relative');
});
})(animateClasses[i]); // self calling anonymous function
}
ただし、既に開いているコンテンツがスライドして戻ると、コンテンツがスライドアウトするのが速すぎます。スライドアウトする前に、コンテンツが完全にスライドインするまで待つ必要があります。これは可能ですか?
これは、アイデアを得るために現在取り組んでいるものへのリンクです ( http://goo.gl/s8Tl6 )。
乾杯、R