Ich habe seit einiger Zeit mit diesem Problem gekämpft. Ich habe OpenCart 1.5.2.1 installiert, und während der Checkout-Phase habe ich mehrere Schritte, die im Hintergrund ausgeführt werden müssen. Während dies geschieht, versuche ich eine einfache ajax-loader.gif anzuzeigen, und ich möchte, dass sie verschwindet, sobald die Seite fertig ist. Im Moment wird die Ajax-loader.gif nicht angezeigt ...Ajax-loader.gif endet einmal Seite lädt
Hier ist mein javascript:
var el = $("#confirm .checkout-heading").addClass("loading");
$.ajax({
url: 'checkout/checkout.php',
success: function(data) {},
failure: function() {},
complete: function() {
el.removeClass("loading");
}
});
Sheet:
#confirm .checkout-heading {
background: #fff;
}
#confirm .checkout-heading.loading {
background-image: url('../image/ajax-loader.gif');
background-position: 98% 50%;
background-repeat: no-repeat;
}
Seite:
<div class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
<?php } ?>
</div>
<h1><?php echo $heading_title; ?></h1>
<div class="checkout">
<div id="checkout">
<div class="checkout-heading"><?php echo $text_checkout_option; ?></div>
<div class="checkout-content"></div>
</div>
<?php if (!$logged) { ?>
<div id="payment-address">
<div class="checkout-heading"><span><?php echo $text_checkout_account; ?></span></div>
<div class="checkout-content"></div>
</div>
<?php } else { ?>
<div id="payment-address">
<div class="checkout-heading"><span><?php echo $text_checkout_payment_address; ?></span></div>
<div class="checkout-content"></div>
</div>
<?php } ?>
<?php if ($shipping_required) { ?>
<div id="shipping-address">
<div class="checkout-heading"><?php echo $text_checkout_shipping_address; ?></div>
<div class="checkout-content"></div>
</div>
<div id="shipping-method">
<div class="checkout-heading"><?php echo $text_checkout_shipping_method; ?></div>
<div class="checkout-content"></div>
</div>
<?php } ?>
<div id="payment-method">
<div class="checkout-heading"><?php echo $text_checkout_payment_method; ?></div>
<div class="checkout-content"></div>
</div>
<div id="confirm">
<div class="checkout-heading">Confirm Purchase</div>
<div class="checkout-content"></div>
</div>
</div>
Jede Hilfe wird geschätzt. Danke im Voraus.
Dank. Ich habe bestätigt, dass das Problem aus # 3 zu stammen scheint. Wenn ich die Klasse '.loading' lösche und das Loader-Image als Hintergrund für' .checkout-heading' festlege, erscheint das Bild, verschwindet aber nicht, sobald die Seite geladen ist, während ich die Klasse '.loading' manuell hinzufüge nichts passiert, kein Bild. Außerdem, wenn ich die '(verwenden Sie $ (Dokument) .ready));' -Funktion hinzufügen, bekomme ich einfach eine "0" auf der Seite. – blackessej