Ich möchte ein div nach dem Klicken auf einen Link schieben, dann slideDown ein anderes div, dann gehe zur nächsten Seite.
Problem: neue Seite wird geladen, bevor die Animationen beendet sind.
Frage: Wie kann ich das tun?
Sollte ich preventDefault verwenden und dann einen Weg, um es fortzusetzen?Wie führt man .click() aus, nachdem die jQuery-Animation abgeschlossen ist?
Dies ist die URL: http://www.jolandaschouten.nl/wordpress
Dies ist der Code, der zum ersten Menüpunkt implementiert jetzt nur:
jQuery(document).ready(function($){
var allDivs = $("#introductie").add("#agenda").add("#werk").add("#onderwijs-organisatie").add("#publicaties").add("#links").add("#contact");
console.log(allDivs);
$("li.page-item-11 a").click(slideUp);
function slideUp(){
allDivs.slideUp(500, slideDown);
}
function slideDown(){
$("#introductie").slideDown(500);
}
});
ps: Ich will nicht AJAX verwenden, da die SEO und Browser Navigationsprobleme. Der Klick sollte wirklich zur nächsten Seite führen.
Erstellen von Animationen kurz vor dem Ändern der Seite, ohne den Benutzer zu bemerken, wird sehr verwirrend sein für ihn IMHO. Wie auch immer, Sie können 'preventDefault' machen, den Link href dank' .attr ("href") 'abrufen und eine Umleitung nach der gewünschten Animation durchführen. Aber trotzdem, so ziemlich keine gute Idee – Shikiryu