mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 20.04.2024 07:19 Benutzername: Passwort: Auto-Login

Thema: Problem mit JS mousover vom 29.06.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Problem mit JS mousover
Autor Nachricht
derluke
Account gelöscht Threadersteller


Ort: -

Verfasst Mi 29.06.2005 10:16
Titel

Problem mit JS mousover

Antworten mit Zitat Zum Seitenanfang

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 10:16, insgesamt 1-mal bearbeitet
 
Sarky

Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht: Männlich
Verfasst Mi 29.06.2005 10:22
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
derluke
Account gelöscht Threadersteller


Ort: -

Verfasst Mi 29.06.2005 16:30
Titel

Antworten mit Zitat Zum Seitenanfang

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: Männlich
Verfasst Do 30.06.2005 09:21
Titel

Antworten mit Zitat Zum Seitenanfang

Ö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.
  View user's profile Private Nachricht senden
derluke
Account gelöscht Threadersteller


Ort: -

Verfasst Fr 01.07.2005 11:27
Titel

Antworten mit Zitat Zum Seitenanfang

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! *zwinker*
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
Als Anfänger Galerie mit MousOver in Flash - machbar?
Ebene einblenden bei Mousover und an Mauszeiger halten
Formmailer-Problem-neues problem
CSS Problem im IE und im FF
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.