2009-07-09 5 views
1

Ich habe ein Skript, das bestimmte divs in der Liste beim Laden der Seite verbirgt (Anzeige: keine). Div-Inhalt stellt die Beschreibung eines Buches dar, und die ganze Liste ist eine Art Bibliographie. Jedes div hat eine ID, zum Beispiel "div1", "div2" usw.Erweitern eines versteckten Div durch Verweis auf einen Anker von externer Seite

<ul> 
<li><div class="hidden" id="div1"></li> 
<li><div class="hidden" id="div1"></li> 
... 
</ul> 

Und es gibt eine andere Seite mit einem Menü, das zu jedem solchen div verankerter Link besteht:

<ul> 
<li><a href="bibl.html#div1"></li> 
<li><a href="bibl.html#div2"></li> 
... 
</ul> 

Ich möchte, dass das ausgeblendete Teil automatisch erweitert wird, wenn der Link auf einer anderen Seite angeklickt wird. Ich habe versucht, einige window.location.href Zeug, aber ohne Erfolg - meine JS ist noch schwach. Wie ich die Logik verstehe, sollte sie die aktuelle URL nehmen und auf "#" prüfen, dann nach einem Element mit dem Teil rechts im ID-Attribut suchen. . Vielen Dank nette Leute)

Antwort

6

Sie können auf der Zielseite etwas tun:

window.onload = function() { 
    var hash = window.location.hash; // would be "#div1" or something 
    if(hash != "") { 
     var id = hash.substr(1); // get rid of # 
     document.getElementById(id).style.display = 'block'; 
    } 
}; 

Im Wesentlichen Sie auf der Seite Last prüfen, ob das Fenster des href einen Hash hat mit ihm verbunden. Wenn dies der Fall ist, finden Sie die <div> und ändern Sie die Stilanzeige zu blockieren.

+0

Dort. Jetzt glücklich? Du hast einen :) – Sampson

+0

Nein, ich bin nicht glücklich. Ich bin auf dem Kriegspfad für PHP-Fragen, ich bin SOOO nah am Gold Ich kann es riechen! :) –

0

Sie können die window.location.hash verwenden, um den Hash-Wert zu sehen. Von dort können Sie getElementById(hashValue) und es zeigen.

0

Vielen Dank! Ich fand heraus, dass Sie diese

hinzufügen können und auch die Seite auf die Position der angegebenen div gescrollt haben.

+0

Sollte es das nicht automatisch tun? –

Verwandte Themen