gpt4 book ai didi

jquery - 如何设置 Ajax 调用的最短持续时间?

转载 作者:行者123 更新时间:2023-12-01 02:32:27 24 4
gpt4 key购买 nike

我有一个网站,可以进行 ajax 调用,然后加载 gif 以在电视上显示静态图像。但现在 ajax 调用不需要足够的时间来真正弹出效果。所以我想知道是否有办法设置ajax调用所需的最短时间?

您可以看到the website我正在努力更好地了解我正在做的事情。尝试单击右侧的相框或 table 上的留声机。

    <script type="text/javascript">
var minDelay = 1000;
var start = new Date();
$.get("form.html", function(result) {
callback($(result).find("#contact"));
var end = new Date();
var timeInMilliseconds = end - start;
if (timeInMilliseconds < minDelay) {
setTimeout(function() { callback(result); }, minDelay - timeInMilliseconds );
}
else callback(result);
});
$.get("music.html", function(result) {
callback($(result).find("#music"));
var end = new Date();
var timeInMilliseconds = end - start;
if (timeInMilliseconds < minDelay) {
setTimeout(function() { callback(result); }, minDelay - timeInMilliseconds );
}
else callback(result);
});


function callback(result) {
$("#screen").html(result);
}
</script>

最佳答案

您可以对起点和终点进行计时,然后在低于某个阈值时添加另一个延迟(使用 setTimeout )。像这样的事情:

var minDelay = 1000;
var start = new Date();
$.get(url, function(result) {
var end = new Date();
var timeInMilliseconds = end - start;
if (timeInMilliseconds < minDelay) {
setTimeout(function() { callback(result); }, minDelay - timeInMilliseconds });
}
else callback(result);
});

function callback(result) {
// Ajax response handling here ...
}
<小时/>

编辑 我不确定您是否可以使用 JQuery 的 load 来实现此目的(根据 docs ,从服务器收到响应后目标会立即更新)。我建议将 load 调用转换为 gets。即,这个:

$("#screen").load("form.html #contact");

应该变成这样:

$.get("form.html", function(result) {
callback($(result).find("#contact"));
});

然后我上面编写的callback函数应该填充load的目标。

 function callback(html) {
$("#screen").html(html);
}

关于jquery - 如何设置 Ajax 调用的最短持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962996/

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