0

閉じるボタンをクリックしたときにメッセージ ボックスを閉じようとしています (フェードアウト)。しかし、ここでは機能していません。これを修正するのを手伝ってください。

自動で閉まる前に。閉じるボタンをクリックすると、メッセージ ボックスが非表示になります。しかし、ここでは機能していません

これが私のJsfiddleです

これが私のスクリプトです。

$('.msg_close_icon_div').click(function(){
    $('.error_msgbox').fadeOut('slow');    
});

$('.error_msgbox').hide().fadeIn('slow').delay(4500).fadeOut('slow');

ユーザーが閉じるボタンをクリックしない場合(右上隅にあります)、3秒後にメッセージボックスを自動的に閉じたいと思います。</p>

4

3 に答える 3

0

delay()でキューを保持しているため、手動でdivを非表示にすることはできません。delay()関数には、キャンセルできないという欠陥があります。これは、jQueryのマニュアルに実際に記載されています。

delay()を削除すると、click()関数は期待どおりに機能します。それでもタイミングイベントが必要な場合は、別のアプローチ、おそらく通常のsetTimeout()をお勧めするか、jQuery(http://api.jquery.com/queue/)で利用可能なより適切なqueue()関数を使用します。

FOUCが生成されるため、現在のコードも変更する必要があります。

于 2012-06-06T12:20:01.440 に答える
0

setTimeout() は、この問題を解決するのに役立ちます:

スクリプトは次のとおりです。

$('.msg_close_icon_div').click(function(){
    $('.error_msgbox').fadeOut('slow');    
}); 


setTimeout(function(){ jQuery(".error_msgbox").hide(); }, 7000);

例はこちらDEMO

その他の setTimeout() の例

于 2012-06-06T13:21:27.223 に答える
0

フィドルで jQuery プラグインのオンロードを選択していません

フィドルの動作を確認する - http://jsfiddle.net/rxR5E/3/

于 2012-06-06T12:06:28.110 に答える