2

アニメーションが完全に機能するという問題がありますが、.hide(); トリガーされると、slideDown(); に戻ります。関数。

前のクリックがまだアクティブであるため、アニメーションを実行していると思いますが、頭を悩ませていますか?

$('div.SocialShareJob').on('click', function(){
    $(this).find('p').slideUp(300).fadeOut(500);
    $(this).find('.Icons').slideDown(500).fadeIn(900);
});
$('div.CloseSharing').on('click', function(){
    $(this).parent('div.Icons').hide(); 
});
4

1 に答える 1

4

完了していないアニメーションを停止し、キューをクリアする必要があります。

$('div.CloseSharing').on('click', function(event){
    $(this).parent('div.Icons').stop(true).hide(); 
});

div が他の div の子である場合、イベントが親に伝播するのcloseSharingを停止する必要がある場合もあります。clickこれを行うevent.stopPropagation()には、イベント ハンドラーの先頭に次を追加します。

$('div.CloseSharing').on('click', function(event){
    event.stopPropagation();
    $(this).parent('div.Icons').stop(true).hide(); 
});
于 2012-10-28T21:56:44.810 に答える