gpt4 book ai didi

jquery - 使用 jQuery 延迟显示 ajax 加载 gif

转载 作者:行者123 更新时间:2023-12-03 22:19:44 26 4
gpt4 key购买 nike

延迟 ajax-loader gif 显示的最佳方法是什么?当我点击一个按钮时,即使花费的时间只有几百毫秒,加载器 gif 也会显示和隐藏,这会给浏览器带来一种闪烁。我想说的是,仅在完成 ​​ajax 请求的时间超过 1000 毫秒时才显示 gif。

 <script type="text/javascript">
$(document).ready(function() {
$('#loader').hide();
$('#btnGetPeople').click(function() {
$('#loader').show();
$.getJSON("/User/GetName/10",
null,
function(data) { showPerson(data); });
});
});

function showPerson(data) {
alert(data);
$('#loader').hide();
}
</script>

我的加载器 div 包含....

<div id="loader"><img alt="" src="/content/ajax-loader.gif" /></div>

实现这一目标的最佳技术是什么?

最佳答案

正如你所看到的,我添加了一个超时,延迟显示 300 毫秒。如果 ajax 更快,则在加载程序真正显示之前取消超时。

<script type="text/javascript">
var showLoader;
$(document).ready(function() {
$('#loader').hide();
$('#btnGetPeople').click(function() {
// only show loader if ajax request lasts longer then 300 ms
showLoader = setTimeout("$('#loader').show()", 300);
$.getJSON("/User/GetName/10",
null,
function(data) { showPerson(data); });
});
});

function showPerson(data) {
clearTimeout(showLoader);
alert(data);
$('#loader').hide();
}
</script>

关于jquery - 使用 jQuery 延迟显示 ajax 加载 gif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1851569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com