如何在fadeIn指定延迟后刷新页面?Ajax成功函数技术问询
实现Ajax成功后延迟刷新页面的方案
当然可行!你只需要利用jQuery动画方法的回调函数就能实现这个需求——因为delay()只对动画队列里的操作生效,直接在后面加刷新页面的代码会被立刻执行,而放在fadeOut()的回调里,就能确保在提示框完全淡出后再刷新页面。
修改后的代码如下:
success: function(result){ $('#agencyForm').trigger('reset'); if(result == '1'){ $('#approvalmessagedisplay') .html('<span style="color:green;">Request is updated successfully</span>') .fadeIn() .delay(10000) .fadeOut(function() { // 在fadeOut动画完成后执行页面刷新 location.reload(); }); } }
简单拆解下逻辑:
- 表单先执行重置操作
- 如果接口返回结果是'1',就渲染成功提示并显示出来
- 提示框会保持显示10秒(对应
delay(10000)的设置),然后执行淡出动画 - 淡出动画完全结束后,触发
location.reload()刷新当前页面
这样就能完美实现你想要的「success函数执行完成后,等待指定延迟时间再刷新页面」的效果啦。
内容的提问来源于stack exchange,提问作者Hafiz Ejaz
相关产品推荐
相关产品推荐

