在非常快的事件上显示和淡化div

时间:2014-01-24 15:40:50

标签: jquery

我在网页中有一个表单,允许用户更改设置。这些事件在JQuery中触发AJAX提交,并且我的Web应用程序服务器的响应几乎是即时的。到目前为止,我还没有向用户显示任何已做出更改的反馈。

如果我添加一个微调器,它只是在屏幕上闪烁一秒钟,这使它看起来像一个小故障或错误。

我想添加一个带有SAVED字样的div,然后将其淡入,暂停2秒,然后将div淡出,最后将其删除。

我的JQuery是这样的:

    $("#ControlInfoForm").change(function () {
    $.ajax({
        type: 'post',
        url: 'control.cfc?method=change',
        data: $("#ControlInfoForm").serializeArray(),
        dataType: "json",
        beforeSend: function (result) {

        },
        success: function (result) {
            $('#AJAX-saved').fadeIn("fast");
            // How do I pause here for 2 seconds?
            $('#AJAX-saved').fadeOut("slow");
        },
        error: function (result) {
            alert("An error has occured.");
        }
    });
});

如何暂停两秒钟并淡出?我是在正确的地方做的吗?

2 个答案:

答案 0 :(得分:2)

  1. fadeOut
  2. 的回调函数中调用fadeIn
  3. 使用.delay(),设置计时器以延迟队列中后续项目的执行。
  4. 代码

    $('#AJAX-saved').fadeIn("fast", function () {
        $('#AJAX-saved').delay(2000).fadeOut("slow");
    });
    

答案 1 :(得分:1)

你可以试试这个:

success: function (result) {
            $('#AJAX-saved').fadeIn("fast");
           setTimeout(function(){$('#AJAX-saved').fadeOut("slow");},2000);

        }

fadeout将在2秒后执行