0

在 AJAX 方法之前,我添加了一个 GIF 图像,但加载时间很短。如何设置加载持续时间的时间,然后显示 AJAX 响应?

            $('.signup p').html('<img src="img/loading.gif" width="40px" height="40px" alt="loading_effect" />');

            $.ajax({
                 url : 'signup_action.php',
                 method : 'post',
                 data : {name,email,password1,dob,gender},
                success : function(response){
                    $('.signup p').html(response);
                }
            });
4

2 回答 2

0

这正是您可以像这样延迟它的方法:

通过使用.delay()

 $('.signup p').delay(800).html('<img src="img/loading.gif" width="40px" height="40px" alt="loading_effect" />');

注意:您需要像这样以毫秒为单位输入秒,即 1 秒需要 1000。

参考网址.delay()

https://api.jquery.com/delay/

或者

当然,另一种方法是:

$(document).ajaxStart(function() {
       $('.signup p').show();
}).ajaxStop(function() {
    $('.signup p').hide();
});

参考链接:

.ajaxStart() https ://api.jquery.com/ajaxStart/

.ajaxStop() https ://api.jquery.com/ajaxStop/

于 2016-05-22T13:49:10.743 回答
0

你能行的。Jquery 有特定的功能可以知道 ajax 何时启动和 ajax 何时停止。如果您想每次显示 gif 并在 ajax 停止时隐藏它:您可以隐藏 gif(使用 display:'none')并在加载 ajax 时显示它

$(document).ajaxStart(function() {
       $('.signup p').show();
}).ajaxStop(function() {
    $('.signup p').hide();
});

如果你知道多少次,你想显示然后隐藏它,使用https://api.jquery.com/delay/

于 2016-05-22T13:52:26.073 回答