【发布时间】:2015-03-12 17:42:56
【问题描述】:
我有以下代码将隐藏list-btn div 并加载list-response div。但是,list-response div 可能需要 1-5 秒才能加载,所以我想让它显示一个名为 list-waiting 的 div,而一旦出现 list-response 显示,再次隐藏 list-waiting。
它们都在同一个地方,基本上是相互替换的,所以我一次只需要显示其中一个。
我该怎么做?
jQuery(document).ready(function($){
$('.add-to-list').click(function (e) {
e.preventDefault();
var id = $(this).data("id");
$.ajax({
url: "https://www.domain.com/page.php?add=" + id,
type: "GET",
success: function (data) {
$("#list-btn-" + id).hide();
$("#list-response-" + id).show();
},
error: function (xhr, ajaxOptions, thrownError) {
$("#list-btn-" + id).hide();
$("#list-response-" + id).html('ERROR');
},
timeout: 15000
});
});
});
【问题讨论】:
-
所以在进行 AJAX 调用之前显示
list-waitingDIV,并将其隐藏在success和error函数中。 -
或隐藏在.always函数中
-
show()应该是即时的,因为它会更改display.. 您是否使用响应数据填充 div?
标签: javascript jquery ajax