Autor |
Nachricht |
lowdoggnsu
Threadersteller
Dabei seit: 06.09.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 09.03.2008 01:53
Titel [CSS/PHP/Javascript] CSS-Menu a:active soll sichtbar sein |
|
|
Hi Folks,
folgendes Problem:
In meinem CSS-Menu, welches ich nur mit Bildern gestaltet habe, möchte ich, dass der Zustand a:active (bzw. das entsprechende Bild dazu) permanent zu sehen ist, solange man sich auf dieser Seite befindet. Nun habe ich gelesen, dass sich a:active nur auf die reine Klickdauer bezieht; will heißen: wenn man draufklickt und den Klick hält, bleibt a:active solange sichtbar bis man den Klick wieder loslässt. Danach ist der Link wieder im Ausgangszustand und entsprechend das Bild wieder verschwunden. Soll es allerdings nicht!
Ich hoffe, dass ich mein Problem halbwegs verständlich formuliert habe Gäbe es vielleicht eine Lösung in PHP oder Javascript, um diesen Zustand a:active permanent sichtbar zu machen?
Ich danke euch vielmals.
Gruß Dogg
|
|
|
|
|
plöder_lemming
Dabei seit: 31.01.2008
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 09.03.2008 11:17
Titel
|
|
|
Naja, ich nehm an du arbeitest ohne frames, so daas auf jeder seite dein menü "code" zu finden ist?
Sind denn die Bilder fürs menü per css definiert?
Du kannst ja auf jedenfall auf den entsprechenden Seiten dein "active" Bild praktisch manuell drüberlegen.
Zuletzt bearbeitet von plöder_lemming am So 09.03.2008 11:18, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
lowdoggnsu
Threadersteller
Dabei seit: 06.09.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 09.03.2008 12:24
Titel
|
|
|
Hi Lemming,
leider ist es nicht ganz so einfach, aber stimmt, ich arbeite ohne Frames. Grundsätzlich isses so: die index.php included alle anderen Seiten, sodass das Menü zwar jedes Mal mitgeladen wird, aber dennoch nur einmalig existiert - für manche mag das eine unästhetische Lösung sein, aber wie dem auch sei. Der Menücode ist eben nur einmalig auf der index.php zu finden. Manuell geht da leider garnix.
Das Menü im Allgemeinen ist komplett in CSS definiert- a, a:hover und a:active mit den entsprechenden Bildzuweisungen.
Ich hab mir schon überlegt, wie ich das mit PHP lösen könnte, denn jede Seite hat ja eine ID. Nur bin ich noch nicht besonders gut in PHP, geschweige denn Javascript - Lernphase noch.
Könnte man mit Javascript auf eine PHP-$Variable zugreifen, und dem CSS sagen, welchen Zustand es für diesen Link annehmen soll?
Besten Dank
Dogg
|
|
|
|
|
lowdoggnsu
Threadersteller
Dabei seit: 06.09.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 09.03.2008 12:27
Titel
|
|
|
Vielleicht mit einer Switch-Abfrage oder so?
LG
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst So 09.03.2008 12:47
Titel
|
|
|
Zitat: | Könnte man mit Javascript auf eine PHP-$Variable zugreifen |
Nein, absolut unmöglich. Das sind zwei völlig verschiedene Techniken. Während JS eine clientseitige Sprache ist, arbeitet PHP serverseitig. Der Client (Browser) bekommt nichts davon mit, ob die Daten vom Server mit PHP oder sonstwas generiert wurden.
Und Zugriff auf PHP-Variablen ist mit JS (oder sonstwas) nicht möglich. Du meinst zwar sicherlich auch nur den Zugriff auf Variablenwerte und nicht auf die Variablen selbst, aber das spielt hier keine Rolle.
Was du machen kannst, ist Werte per Query-String zu übergeben. Da kommst du dann mit PHP, JS, ... ran.
Einfach ?bla=1 oder ähnliches an den URL hängen.
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 09.03.2008 12:47
Titel
|
|
|
Du musst einfach nur eine zusätzliche Klasse für den aktiven Zustand anlegen, z.B.
Code: | a.current {
color: #F00;
} |
|
|
|
|
|
lowdoggnsu
Threadersteller
Dabei seit: 06.09.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 09.03.2008 13:26
Titel
|
|
|
@m
danke für den Hinweis. Problem: es ist nun immer zu sehen, auch wenn ich auf eine andere Seite klicke.
Die Links wechseln die Zustände nicht zurück. Doof
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 09.03.2008 13:33
Titel
|
|
|
Na du darfst die Klasse nur dem Element zuweisen welches gerade aktiv ist.
So wie Rob schon erwähnt hat, sagen wir du könntest deine Seiten anhand
des Query Strings identifizieren, dann kannst du das zum Beipsiel so lösen:
Code: | <a href="" class="<?php echo ($_GET['q'] == '12') ? 'current': 'normal'; ?>">Seite mit der ID 12</a> |
so in etwa.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Javascript-Menu
javascript menu II
[JavaScript] Drop Down Menu
CSS-drop-down-menu OHNE javascript
simple javascript accordian menu - menü soll offen bleiben
Mobile Design - Objekte Sichtbar und Sichtbar Bootstrap
|
|