Ich habe eine Navigation und die ursprüngliche URL sieht so aus:
test.php?query=19
und ich habe Links auf meiner Seite wie so <a href="#section-1">Section 1</a><a href="#section-2">Section 2</a><a href="#section-3">Section 3</a>
mit 3 Abschnitten:
%Vor% und ich verwende diesen jquery-Code, um zu dem Abschnitt vom oberen Rand der Seite (oder wo sich der Benutzer auf der Seite befindet) zum Anfang dieses Abschnitts zu blättern und nicht das #
-Tag in meiner URL anzuzeigen.
Mein Problem ist, dass hier nicht zum Abschnitt geblättert wird. Es geht nur zum Abschnitt unten im Abschnitt und scrollt dann nach oben und das #
erscheint in meiner URL.
Ich habe ein anderes Menü auf meiner Hauptseite:
home.php
und ich benutze den exakt gleichen jquery Code und es funktioniert auf dieser Seite.
Meine Frage ist, wie ich den ScrollTop in meiner test.php?query=19
Seite funktionieren lassen kann, so wie er es bei home.php
tut. Wenn ich auf ein Like auf test.php?query=19
klicke, ändert sich meine URL in: test.php?query=19#section-1
Ich würde die Logik ändern, die Sie mit Ihrem Code umgehen. Verhindern des Standardereignisses und direkten Zugriff auf href direkt durch attr.
In etwa so:
%Vor% Übrigens bin ich mir nicht sicher, ob Sie den von Ihnen verwendeten Selektor a[href*=#]:not([href=#])
verstehen. Auch die Bedingung ( if location.pathnae.blah...
) scheint ziemlich peinlich zu sein. Ich würde einfach so etwas tun:
Tags und Links jquery