div-tag style switch
pl
- javascript
0 Arthur Dent0 PL0 Arthur Dent0 wahsaga
0 wahsaga
folgendes problem (alles im cms):
ich habe eine image map mit einer karte in der verschiedene orte gekennzeichnet sind. jeder ort ist per anker auf eine adresse gelinkt die weiter unten in dem dokument steht.
ich habe einen link der per id auf den jeweiligen link springt.
nun soll die jeweilige adresse auf die gesprungen wird einen anderen background bekommen, springt man auf einen anderen linkt soll der background vom ersten wieder verschwinden. das ganze sieht so aus das dies durch einen speziellen div layer geschehen soll deren style dann überschrieben wird und als id die ankerid bekommt (so das nur der eine background eine andere farbe hat).
könnte mir jemand bei dieser funktion helfen? ich weis das es nicht so schwer ist wenn man es genau versteht nur das problem ist das ich wenig ahnung von javascript und programmieren hab ;) bzw zumindest zu wenig für das problem.
vielen dank im voraus.
gruß pl
Hi,
nun soll die jeweilige adresse auf die gesprungen wird einen anderen background bekommen, springt man auf einen anderen linkt soll der background vom ersten wieder verschwinden. das ganze sieht so aus das dies durch einen speziellen div layer geschehen soll deren style dann überschrieben wird und als id die ankerid bekommt (so das nur der eine background eine andere farbe hat).
also ich kenne ja jetzt deine Seite nicht und ich weiß auch nicht genau, wo dein Problem liegt. Deshalb mal ganz allgemein:
mit document.getElementById("ID_des_DIVs").bgColor="..."; setzt du die Farbe.
um das vorherige DIV wieder zurück zu setzen, kannst du dir entweder die vorherige id merken und bgColor="transparent" setzen (oder auf normale Hintergrundfarbe), oder du setzt ERST alle DIVs auf transparent (entweder über alle IDs oder über getElementsByTagName("div")) und setzt dann den Hintergrund für das ausgewählte. Wenn du allerdings viele DIVs hast, und einige davon NICHT transparent werden sollen, ist das wohl keine gute Lösung...
Gruß,
Arthur D.
hi :)
das problem ist das diese adresse alle aus den gleichen divs generiert werden (via cms) und ich deshalb eine spezielle id auf ein div abgeben muss. per onclick hab ich das schon hinbekommen dass das jeweils gewünschte div einen eignen hintergrund bekommt nur wenn man dann auf eine 2te adresse klickt haben beide den hintergrund.
also brauche ich eine funktion die das einmal bei einer bestimmten id aktiviert und wenn eine 2te aufgerufen wird bei der ersten deaktiviert. nur leider habe ich davon nicht wirklich ahnung.
das problem ist das diese adresse alle aus den gleichen divs generiert werden (via cms) und ich deshalb eine spezielle id auf ein div abgeben muss. per onclick hab ich das schon hinbekommen dass das jeweils gewünschte div einen eignen hintergrund bekommt nur wenn man dann auf eine 2te adresse klickt haben beide den hintergrund.
und erstmal bei onclick allen divs einen transparenten (oder "hintergrundfarbenen") Hintergrund zuweisen funktioniert für dich nicht?
Gruß,
Arthur D.
du meinst das wenn klick dann alles transparent + dann bei der einen id der und der style? is das denn so einfach möglich? wenn ja könntest du mir ungefähr sagen wie man das schreiben würde? 1000 dank schon mal :)
das problem ist das diese adresse alle aus den gleichen divs generiert werden (via cms) und ich deshalb eine spezielle id auf ein div abgeben muss. per onclick hab ich das schon hinbekommen dass das jeweils gewünschte div einen eignen hintergrund bekommt nur wenn man dann auf eine 2te adresse klickt haben beide den hintergrund.
und erstmal bei onclick allen divs einen transparenten (oder "hintergrundfarbenen") Hintergrund zuweisen funktioniert für dich nicht?
Gruß,
Arthur D.
Hi,
du meinst das wenn klick dann alles transparent + dann bei der einen id der und der style? is das denn so einfach möglich? wenn ja könntest du mir ungefähr sagen wie man das schreiben würde? 1000 dank schon mal :)
Am einfachsten wid es für dich sein, daß DIV-Objekt beim "Aktiv-Klick" in einer globalen Variablen zu sichern (lastObj=this; im onClick-Code) und dieses Objekt beim nächsten Klick wieder zurückzusetzen.
Gruß, Cybaer
hi,
also brauche ich eine funktion die das einmal bei einer bestimmten id aktiviert und wenn eine 2te aufgerufen wird bei der ersten deaktiviert.
Merke dir in einer Variablen die Referenz auf das Element, welches du gerade umgestyled hast.
Beim nächsten Mal entfernst du dann zunächst von diesem die Formatierung, formatierst das "neue" - und merkst dir dann dieses.
Am Anfang initialisierst du deinen Merker mit null oder false, und fragst in deiner Funktion zunächst ab, ob er noch diesen Wert hat. Wenn ja, wurde noch kein Element umformatiert, also gibt es zu diesem Zeitpunkt auch noch keins, auf dem dies rückgängig zu machen wäre.
gruß,
wahsaga
hi,
das ganze sieht so aus das dies durch einen speziellen div layer geschehen soll deren style dann überschrieben wird und als id die ankerid bekommt
Du willst doch nicht die ID doppelt im Dokument vergeben?
gruß,
wahsaga