Verwenden Sie JQuery preventDefault (), fügen Sie jedoch den Pfad zur URL hinzu

10

Ich arbeite an einer Website, bei der das Klicken auf einen bestimmten Link über ein Login-Fenster gleitet. Ich verwende event.preventDefault() , um die Weiterleitung der Site zu stoppen, sowie ein Animationsereignis, um das Panel nach unten zu schieben. Wenn auf die Verknüpfung geklickt wird, wird die Anzeige nach unten verschoben und die URL bleibt unverändert.

Was ich tun will, wenn der Link angeklickt wird, ist, dass das Panel normal animiert wird, aber dass das href-Attribut des Links in der URL angezeigt wird. In diesem Fall wäre es etwa so: http://domain_name/#login .

Hier ist der Code, den ich gerade habe:

%Vor%

Dieser Code fügt der URL wie gewünscht "#login" hinzu, überspringt jedoch die Animation des Anmeldebereichs. Wenn Sie auf den Link klicken, erscheint das Fenster sofort. Ich möchte sowohl die Animation als auch das aktualisierte URL-Verhalten behalten. Ist das möglich?

    
JGDev 07.08.2011, 06:02
quelle

2 Antworten

3

Verwenden Sie den folgenden Code. Rufen Sie einfach den Hash im Ereignis Animation abgeschlossen auf.

%Vor%     
Chamika Sandamal 07.08.2011 06:22
quelle
1

Ich bin mir nicht sicher, aber Sie könnten nach dieser Funktion suchen

1 & gt; Wenn ein Body auf "Login" klickt, ändert sich die URL in "abc.com/#login" und die Animation "Login Panel" wird angezeigt.

oder

2 & gt; Wenn ein Body einfach abc.com/#login in der URL eingibt, erwartet man dasselbe Verhalten (Animation des Login-Bereichs).

Was Sie gerade tun funktioniert nur für case1 und funktioniert nicht für case2. Wenn Sie wollen, dass Animationen (oder was auch immer) sowohl funktionieren, wenn Sie darauf klicken, oder einfach nur URLs eingeben. Sie benötigen einen Mechanismus, um Hash-Änderungen zu erkennen.

Es gibt ein berühmtes Plugin Ссылка

Gehen Sie und sehen Sie dieses Plugin und sehen Sie, wie die Dinge gemacht werden. Wenn Sie etwas schwer zu verstehen finden, sind wir hier !!

    
Praveen Prasad 07.08.2011 07:40
quelle