Stoppen Sie das Standard-Hashtag-Verhalten mit jquery

8

Ich verwende den folgenden Code, um ein Hashtag an das Ende einer URL anzuhängen. Auf diese Weise kann jemand diese URL kopieren und sie zu dieser Seite zurückbringen, wobei bestimmte divs sichtbar sind.

%Vor%

In diesem Beispiel habe ich ein div namens "live", das beim Klicken auf einen Link "slidDown" und "#live" zur URL hinzugefügt wird. Dann habe ich Code, der die Hash-Tags überprüft, wenn die Seite geladen wird, um die richtigen divs anzuzeigen.

Mein Problem ist, wie verhindere ich, dass der Browser zum "live" div springt, sobald er aufgerufen wird? Ich möchte nicht, dass die Seite nach unten zum div scrollt, sondern nur geöffnet und das Hashtag angefügt werden soll, damit eine Person es kopieren und zu dieser Seite mit dem div zurückkommen kann.

Irgendwelche Tipps?

Danke!

    
Andelas 17.05.2010, 20:02
quelle

3 Antworten

8

Versuchen Sie Folgendes:

%Vor%     
sasa 17.05.2010, 20:19
quelle
8

Es kommt darauf an. Wenn Sie verhindern möchten, dass der Anker angeklickt wird, verwenden Sie Folgendes:

%Vor%

Wenn Sie verhindern möchten, dass beim Laden der Seite ein Bildlauf zum Hash erfolgt, bin ich mir nicht sicher, wie Sie das verhindern würden.

    
steve_c 17.05.2010 20:12
quelle
2

Ich nehme an, Sie haben Code im Dokument bereit Ereignis, das Sie verwenden, um das Div zu öffnen, wie Sie sagen? Wenn ja, würde ich vorschlagen, dass Sie der ID im Hash einen Präfix hinzufügen (wie #_live), so dass die ID nicht im Dokument gefunden wird und verhindert, dass der Browser automatisch zu diesem Element scrollt, und ändern Sie dann den zu entfernenden Code das Präfix, wenn Sie es abholen.

Ich schlage diesen "Hack" vor, weil ich nicht glaube, dass Sie dieses Browserverhalten mit JavaScript verhindern können, zumindest sicher nicht für eine browserübergreifende Lösung.

    
SBUJOLD 17.05.2010 20:28
quelle

Tags und Links