JQueryを使用して、基本的な「ツールチップ」アニメーションを作成します。これにより、ツールチップが小さなアニメーションに表示され、ビューにフェードインするとともに垂直方向に移動します。
これまでのところ私はこれを持っています:
$('.tooltip').fadeIn('slow');
$('.tooltip').animate({ top: "-10px" }, 'slow');
そのように、またはこのように行う:
$('.tooltip').fadeIn('slow').animate({ top: "-10px" }, 'slow');
アニメーションは一度に1つずつ実行され、最初にフェードインし、次に垂直アニメーションになります。両方を同時に行う方法はありますか?
$('.tooltip').animate({ opacity: 1, top: "-10px" }, 'slow');
ただし、これはdisplay: none
要素では機能しないようです(fadeIn
とは異なります)。したがって、事前にこれを置く必要があるかもしれません。
$('.tooltip').css('display', 'block');
$('.tooltip').animate({ opacity: 0 }, 0);
数年後もまだ見ている人のために、状況は少し変わりました。 .fadeIn()
にもqueue
を使用できるようになり、次のように機能します。
$('.tooltip').fadeIn({queue: false, duration: 'slow'});
$('.tooltip').animate({ top: "-10px" }, 'slow');
これには、display: none
要素なので、余分な2行のコードは必要ありません。
別々に(たとえば、異なるコードから)呼び出したい場合に同時アニメーションを行う別の方法は、queue
を使用することです。繰り返しになりますが、Tinisterの答えと同様に、フェードインではなく、このためにアニメーションを使用する必要があります。
$('.tooltip').css('opacity', 0);
$('.tooltip').show();
...
$('.tooltip').animate({opacity: 1}, {queue: false, duration: 'slow'});
$('.tooltip').animate({ top: "-10px" }, 'slow');