Autor |
Nachricht |
derluke
Account gelöscht Threadersteller
Ort: -
|
Verfasst Mi 29.06.2005 09:16
Titel Problem mit JS mousover |
|
|
guten morgen,
ich habe folgendes problem. ich muss eine php seite erstellen, die navigationsleiste soll einen mouseover effekt bekommen via javascript. das passende script habe ich schon, allerdings funktioniert es nicht so richtig wie ich will.
wenn ich einen menüpunkt anklicke soll der button "aktiv" bleiben bzw. "onclick". man kann dies mit dem css verwandten befehl "active" vergleichen. bau ich das menü in frames ein hab ich keine problem - wenn ich jedoch von meinem php template ausgehe läd er ja die index.php immer wieder neu bzw. läd auch das javascript neu. hat einer ne idee wie ich das lösen könnte?
hier der code:
Code: |
<header>
<script language="JavaScript">
<!-- Verstecken für ältere Browser
if (navigator.appVersion.indexOf("2.") != -1){
check = false;
}
if ((navigator.appVersion.indexOf("3.") != -1) && (navigator.appName.indexOf("Explorer") != -1)){
check = false;
}
else {
check = true;
}
if (check == true){
image1 = new Image();
image1.src = "aus.jpg";
image1on = new Image();
image1on.src = "an.jpg";
image1stay = new Image();
image1stay.src = "an.jpg";
image2 = new Image();
image2.src = "aus.jpg";
image2on = new Image();
image2on.src = "an.jpg";
image2stay = new Image();
image2stay.src = "an.jpg";
}
imageStay = ""
function imageon(name){
if (imageStay != name){
document[name].src = eval(name + "on.src");
}
}
function imageoff(name){
if (imageStay != name){
document[name].src = eval(name + ".src");
}
}
function on(name){
if (check == true){
imageon(name);
}
}
function off(name){
if (check == true){
imageoff(name);
}
}
function stay(name){
if (check == true){
document[name].src = eval(name + "stay.src");
if (imageStay != name){
if (imageStay != ""){
document[imageStay].src = eval(imageStay + ".src");
}
}
imageStay = name
}
}
// --> |
Code: |
<body>
<a href="index.php"
onMouseOver="on('image1');" onMouseOut="off('image1')"
onClick="stay('image1');"><img src="aus.jpg" border="0" name="image1"></a>
<a href="index.php"
onMouseOver="on('image2');" onMouseOut="off('image2')"
onClick="stay('image2');"><img src="aus.jpg" border="0" name="image2"></a> |
vielen dank!
Zuletzt bearbeitet von am Mi 29.06.2005 09:16, insgesamt 1-mal bearbeitet
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Mi 29.06.2005 09:22
Titel
|
|
|
Ich nehme an, Du rufst Deine index.php etwa in dem Stil auf?
Code: |
index.php?action=foo
|
Die Lösung: Einfach den Modus von "action" abfragen, d.h. die aktuell aufgerufene Seite und im Template passend per PHP die entsprechende Grafik von vorneherein als angeklickt ausgeben lassen.
|
|
|
|
|
Anzeige
|
|
|
derluke
Account gelöscht Threadersteller
Ort: -
|
Verfasst Mi 29.06.2005 15:30
Titel
|
|
|
Sarky hat geschrieben: | Ich nehme an, Du rufst Deine index.php etwa in dem Stil auf?
Code: |
index.php?action=foo
|
Die Lösung: Einfach den Modus von "action" abfragen, d.h. die aktuell aufgerufene Seite und im Template passend per PHP die entsprechende Grafik von vorneherein als angeklickt ausgeben lassen. |
yup genau, index.php?rulez=skamtoo
dann ruft er den inhalt einer bestimmten seite im main.
soll ich das menu via <? include ('menu.php') ?> reinladen? wie verbind ich den action befehl mit der menu.php?
ein link wäre z.b. Code: | index.php?request=mods |
das content script, welche über das menü aufgerufen wird Code: | <?
if ($request)
{
include $request.'.php';
}
else
{
include("news.php");
}
?> |
das heißt er ruft jenachdem was nachm request kommt den namen+.php auf.
die menüleiste ist eine tabelle mit 8 zellen wo jeweils menügrafiken drin stehen die über sich über einen hover ändern.wie sag ich aber jetzt dem template das die bestimmte grafik aktiviert bleiben soll wenn ich auf dieser seite bin?
danke
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Do 30.06.2005 08:21
Titel
|
|
|
Öh... wie jetzt? Die index.php included die menu.php, welche dann wiederum den entsprechenden content included? Hört sich zumindest so an.
Wenn Du innerhalb der index.php die menu.php includest, stehen in der menu auch alle vorher definierten Variablen der index zur Verfügung. Alles was Du also in der menu.php machen musst, ist zu prüfen welche Action übergeben worden ist.
Angenommen Dein Menü sieht ungefähr so aus und die "angeklickten" aktiven Grafiken haben das Suffix "_active" am Ende stehen:
Code: |
<a href="foo.html"><img src="foo.gif" /></a>
<a href="bar.html"><img src="bar.gif" /></a>
|
Du lässt diese Zeilen per PHP erzeugen und fragst einfach die $_GET['request'] ab - entspricht diese einem bestimmten Teil des Menüpunkts läßt Du von vorneherein eine entsprechende aktive Grafik ausgeben:
Code: |
<a href="foo.html"><img src="foo_active.gif" /></a>
<a href="bar.html"><img src="bar.gif" /></a>
|
Übrigens solltest Du mit der Arbeit per include() sehr sehr vorsichtig sein, das kann schnell zu einer bösen Sicherheitslücke führen.
|
|
|
|
|
derluke
Account gelöscht Threadersteller
Ort: -
|
Verfasst Fr 01.07.2005 10:27
Titel
|
|
|
Sarky hat geschrieben: | Öh... wie jetzt? Die index.php included die menu.php, welche dann wiederum den entsprechenden content included? Hört sich zumindest so an.
Wenn Du innerhalb der index.php die menu.php includest, stehen in der menu auch alle vorher definierten Variablen der index zur Verfügung. Alles was Du also in der menu.php machen musst, ist zu prüfen welche Action übergeben worden ist.
Angenommen Dein Menü sieht ungefähr so aus und die "angeklickten" aktiven Grafiken haben das Suffix "_active" am Ende stehen:
Code: |
<a href="foo.html"><img src="foo.gif" /></a>
<a href="bar.html"><img src="bar.gif" /></a>
|
Du lässt diese Zeilen per PHP erzeugen und fragst einfach die $_GET['request'] ab - entspricht diese einem bestimmten Teil des Menüpunkts läßt Du von vorneherein eine entsprechende aktive Grafik ausgeben:
Code: |
<a href="foo.html"><img src="foo_active.gif" /></a>
<a href="bar.html"><img src="bar.gif" /></a>
|
Übrigens solltest Du mit der Arbeit per include() sehr sehr vorsichtig sein, das kann schnell zu einer bösen Sicherheitslücke führen. |
dank dir, läuft 1a!
sicherheitslücke, macht nix, ist nur für ne intranet site
|
|
|
|
|
|
|
|
Ähnliche Themen |
mousover DIV ein-/ausblenden Problem (z-index, verzögerung)
Imagemap mit Mousover
Ebene einblenden bei Mousover und an Mauszeiger halten
Als Anfänger Galerie mit MousOver in Flash - machbar?
Formmailer-Problem-neues problem
ie7 problem?
|
|