すべてのアニメーションが完了したら、要素から不透明度スタイルを完全に削除する必要があります。
http://jsfiddle.net/SthJy/1/
設定css('opacity', '')
してみremoveAttr('style')
ましたが、効果はありませんでしたが、inilneスタイルはまだ残っています。誰かがこれを手伝ってくれませんか?
すべてのアニメーションが完了したら、要素から不透明度スタイルを完全に削除する必要があります。
http://jsfiddle.net/SthJy/1/
設定css('opacity', '')
してみremoveAttr('style')
ましたが、効果はありませんでしたが、inilneスタイルはまだ残っています。誰かがこれを手伝ってくれませんか?
delay
キューに入れられないため、css()
またはremoveAttr()
キューに入れられないため、機能しません。delay()
ドキュメントで詳細を読む
css()
最終的なアニメーションを使用するかremoveAttr()
、完全なcallack内で使用する必要があります
$("#helpCloud").animate({opacity: 1}, 200)
.delay(2200)
.animate({ opacity: 0 }, 200, function(){
setTimeout(function(){
$(this).removeAttr('style');
}, 300);
});
cssでは要素のデフォルトの不透明度がゼロであるため、何が表示されるかわからない
API参照:http://api.jquery.com/delay
.queue()を使用すると、アニメーションとの同期を維持できます。
$("#helpCloud").animate({ opacity: 1 }, 200)
.delay(2200)
.animate({ opacity: 0 }, 200)
.delay(300)
.queue(function(next) {
$(this).css('opacity', '');
alert('happend only after .delay is over');
next()
})
ライブデモ: http: //jsfiddle.net/SthJy/3/
同じ結果を得る別の方法は、.dalay(300、function(){});でコールバックを使用することです。
$("#helpCloud").animate({ opacity: 1 }, 200)
.delay(2200)
.animate({ opacity: 0 }, 200)
.delay(300, function() {
$(this).css('opacity', '');
alert('happend only after .delay is over');
});
ライブデモ: http: //jsfiddle.net/SthJy/4/