-3

私は jquery の ajax ログイン システムに取り組んでいますが、すべて正常に動作しているようです。私の質問は、GIF の読み込みイメージを表示するのに成功する前に、呼び出しを遅くしたり x 秒間一時停止したりするにはどうすればよいですか?

コード:

$('.AJAX').on('submit', function(event) 
{
    event.stopPropagation();
    event.preventDefault();

    var This = $(this);
    var Data = {};

    This.find('[name]').each(function(Index, Value) {

    var This = $(this),
    Name = This.attr('name'),
    Value = This.val();

    Data[Name] = Value
});

$.ajaxSetup(
{
    beforeSend:function()
    {
        $('.Msg').html('<img src="../Assets/Pictures/Loading.gif" />');
    },
    complete:function()
    {
        $('.Msg').find('img').remove();
    }
});

$.ajax(
{
    url:'Log.php',
    type:'POST',
    data:Data,
    success:function(Data)
    {
        $('.Msg').html('<span style="color:red">' + Data + '</span>').hide().fadeIn('fast');
    });

    return false;
});
4

1 に答える 1

2

基本的な setTimeout を使用してアクションを遅らせることができます。

success:function(Data) {
  setTimeout(function(){
       $('.Msg').html('<span style="color:red">' + Data + '</span>').hide().fadeIn('fast');
  }, 5000); // wait 5 seconds before showing the message
});

参考までに、 jQuery .delay() はエフェクト キュー内のエフェクトを遅延させます。.html() はエフェクトではないため、そのメソッドの影響を受けません。

于 2013-03-04T02:42:05.887 に答える