私は、magento ショップの b2b バージョンに取り組んでいます。そのため、顧客には製品と入力フィールドのリストのみが表示されます。入力フィールドが変更されると、カートを更新する ajax 呼び出しが設定されます。
ここで、カートのサイドバーに、ajax 呼び出しが実行されている限りカートが更新されるというヒントを表示したいと考えています。
これは ajax 呼び出しです。
$.ajax
({
url: url,
type: 'POST',
data: qty,
success: function(response)
{
$('.block-cart').replaceWith($('.block-cart', response));
}
});
カートのサイドバーには、ajax 呼び出しの実行中に display: block に設定される div があります。
私は次のコードでこれを行います:
$(document).ajaxStart(function()
{
$('.hint').css({'display':'block'});
});
$(document).ajaxStop(function()
{
$('.hint').css({'display':'none'});
});
しかし、それは信頼できるものではありません。divが表示される場合と表示されない場合があります...
あなたが私の問題を理解してくれることを願っています;)
ありがとう
アップデート:
私は動作する開始動作を持っています。他の 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();
}
});
});
多分これは他の誰かを助けるでしょう:)これまでありがとう、
スモ