Auf meiner Magento-Website bekomme ich ein seltsames Verhalten in onepagecheckout, das ich gerne beheben würde. Grundsätzlich, in Schritt 2, nachdem ich alle erforderlichen Daten eingegeben habe und ich auf die Schaltfläche "Weiter" klicke, scrollt die Seite automatisch zum unteren Bildschirmrand. Anstatt die Versandoption zu sehen, sehen Sie die Fußzeile und müssen nach oben scrollen der Versand. Also meine Frage ist, wie kann ich die Formulare in onepagecheckout "fokussiert" halten, so dass der Bildschirm darauf bleibt, wenn die Weiter/Weiter-Schaltfläche geklickt wird. Ich habe versucht, auf das Onclick-Ereignis zu etwas das shipping.save() Funktion zu ändern wie:One Page Checkout scrollen zum unteren Rand des Bildschirms am nächsten
function test() {
shipping.save();
document.getElementById('checkoutSteps').scrollIntoView();
}
Aber das eindeutig nicht funktioniert. Wie kann ich die Seite so einstellen, dass sie auf dem Onepagecheckout bleibt, wenn auf Next geklickt wird?
Sorry, ich habe vergessen hinzuzufügen, die Schaltfläche hat bereits ein Klick-Ereignis. Grundsätzlich sieht die Schaltfläche wie folgt aus:
<button type="button" class="button" title="<?php echo $this->__('Continue') ?>" onclick="shipping.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
Ich bin mir nicht sicher, ob dies Angelegenheiten, aber wenn ich versuche, eine zweite Funktion Onclick hinzufügen (Onclick = „shipping.save(); Testfunction();“), Die zweite Funktion wird automatisch entfernt.
Funktioniert einwandfrei in CE 1.9.1 mit einer halben Million Anpassungen. –
@Willaim Tran: Ich habe das gleiche Problem und versuchte Ihre Lösung. Es funktioniert tatsächlich aber halbwegs. Das heißt, es hilft dabei, die Hälfte der Versandart zu zeigen und nicht ab dem Ort, an dem die Versandart beginnt. Irgendeine Idee dazu? –
@Willaim Tran: Hey, ich habe gerade ein bisschen mehr an deiner Lösung versucht und es hat gut für mich funktioniert. Hier ist, was ich mehr mit Ihrer Lösung hinzugefügt: checkout.gotoSection = Funktion (Abschnitt, reloadProgressBlock) { Checkout.prototype.gotoSection.call (this, Abschnitt, reloadProgressBlock); jQuery ('html, body'). Animieren ({ scrollTop: jQuery ('# opc -' + Abschnitt) .offset().oben - 75 }, 500); }; Das hilft mir, den Block an Ort und Stelle zu bringen. –