我正在研究一个洋红色商店的b2b版本。 因此,客户只能看到产品和输入字段列表。 在更改输入字段时,将设置ajax-call以更新购物车。
现在我想在购物车边栏中显示一条提示,只要ajax调用正在运行,购物车就会更新。
这是ajax电话:
$.ajax
({
url: url,
type: 'POST',
data: qty,
success: function(response)
{
$('.block-cart').replaceWith($('.block-cart', response));
}
});
并且在我的购物车边栏中我有一个div,它将被设置为显示:当ajax调用正在运行时阻塞。
我使用以下代码执行此操作:
$(document).ajaxStart(function()
{
$('.hint').css({'display':'block'});
});
$(document).ajaxStop(function()
{
$('.hint').css({'display':'none'});
});
但它不可靠。有时div显示有时不...
我希望你能理解我的问题并且让自己明白;)
谢谢smo
更新
我已经开始行动了。我在另一个if语句中有一个丢失的div。现在它有效。但是ajaxStop
很早就被解雇了。即使有些帖子正在运行,提示也会消失。我试过了ajaxComplete
而没有其他任何影响。
我会保持关注,让你们最新。
解决
你好。
我找到了一种溶剂,对我有用,我想和你分享。
我只是将ajax
放入队列中。这是代码。
$(document).queue(function()
{
$('.hint').css({'display':'block'});
$.ajax
({
url: url,
type: 'POST',
data: qty,
success: function(response)
{
$('.block-cart').replaceWith($('.block-cart', response));
$(document).dequeue();
}
});
});
也许这会帮助其他人:) 到目前为止,谢谢,
SMO