Ich versuche, ein schnelles Navigationsgerät richtig zum Laufen zu bringen. Es schwebt auf der Seite. Wenn sie auf einen Link klicken, gelangen sie zu dieser ID auf der Seite. Ich folge diesem Leitfaden von Treehouse . Folgendes habe ich für das Scrollen:
$("#quickNav a").click(function(){
var quickNavId = $(this).attr("href");
$("html, body").animate({scrollTop: $(location).offset().top}, "slow");
return false;
});
Ich habe es zunächst vor das gestellt </body>
. Aber ich scheine in eine Rennbedingung zu geraten, in der das ausgelöst wurde, bevor das quickNav kompiliert wurde (es ist darauf ng-hide
platziert, nicht sicher, ob es das verursacht - aber es befindet sich im DOM).
Wenn ich diesen Codeblock in der Konsole ausführe, funktioniert das Scrollen wie erwartet.
Ich dachte, es wäre effektiver, dies in den Controller zu verschieben - oder eher innerhalb einer Direktive. Aber ich habe kein Glück, das zu erreichen. Wie kann ich diesen Codeblock für AngularJS verwenden?