Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Onmouseout zurücksetzen bei "Browser zurück"? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Onmouseout zurücksetzen bei "Browser zurück"?


 
webtaste6659
14-07-2010, 22:11 
 
Hallo,

folgende Frage, ich habe einen simplen Mouseover-Effekt:

onmouseover='On(2)' onmouseout='Off(2)'Da ändert sich die Position der Grafik:

if(id == '2')
{document.getElementById('h2-3').style.backgroundPosition = '-390px -75px';
document.getElementById('h2-4').style.backgroundPosition = '-426px -75px';
document.getElementById('h2-5').style.backgroundPosition = '-390px -75px';}Mein Problem besteht jetzt darin, dass wenn der Nutzer einen Knopf anklickt er ja nicht den "onmouseOUT"-Effekt auslöst. Wenn er jetzt also die "Browser-Zurück"-Funktion einsetzt dann hat das Feld immernoch den Status vom Onmouseover-Effekt.

Gibt es eine Möglichkeit das zu verhindern? Ansonsten kommt es teilweise zu unschönen Effekten.

Ihr könnt es gerne selbst testen: 123-Abnehmen.net - Das große Informationsportal zum Thema Abnehmen / Diät! (http://www.123-abnehmen.net/)

Auf "Abnehmen mit Diäten klicken" > Maus weg bewegen vom Knopf > Browser zurück > Maus auf "Abnehmen mit Sport".

 
wahsaga
14-07-2010, 22:29 
 
Ihr könnt es gerne selbst testen: [...]

Auf "Abnehmen mit Diäten klicken" > Maus weg bewegen vom Knopf > Browser zurück > Maus auf "Abnehmen mit Sport".
Sorry, Problem nicht nachvollziehbar. (Getestet mit Opera 10.60/Win 7)

Aber warum du für etwas, was sich seit Jahren problemlos mit CSS bewerkstelligen lässt, überhaupt noch JavaScript einsetzen willst, solltest du vielleicht erst mal erklären ...?

 
webtaste6659
14-07-2010, 22:47 
 
Gut, dann bin ich ja mal echt gespannt wie Du es mit CSS realisiern würdest?

3 CSS-Teile

A, B, C

Wenn ich über A gehe soll element A und B sich ändern.

Wenn ich über C gehe soll B und C sich ändern.

Das Problem vor dem ich stand ist, dass mehrere Elemente sich ändern sollen.

Wie Du auf der Seite auch sehen kannst sind alle restlichen Effekte durchaus mit CSS und ohne Javascript realisiert.

Aber gut, wenn es seit Jahren problemlos mit CSS lösbar ist dann sollte es ja nicht schwer sein mir eben kurz die Lösung zu sagen? Ich würde mich echt freuen das JS-Zeugs aus meiner Seite raus zu bekommen.

 
wahsaga
14-07-2010, 23:13 
 
Das Problem vor dem ich stand ist, dass mehrere Elemente sich ändern sollen.
Das stand weder explizit in deiner Problembeschreibung, noch erkenne ich auf deiner Beispielseite irgendwas davon, zumindest nicht oben im Menü, von dem du geredet hast.

(Das kann aber auch daran liegen, dass ich nur einen 404 Not Found bekomme, sobald ich auf den erwähnten „Link“ klicke - weil du es versäumt hast, Sonderzeichen URL-gerecht zu kodieren.)


Wie Du auf der Seite auch sehen kannst sind alle restlichen Effekte durchaus mit CSS und ohne Javascript realisiert.
Selbst wenn der optische Effekt JavaScript erfordern sollte(!) - ist es nach wie vor eine extrem unkluge Idee, die Hauptnavigation so zu gestalten, dass sie ohne JavaScript gar nicht nutzbar ist.

<div id="h2-2" onclick="location.href='diät.html'" onmouseout="Off(1)" onmouseover="On(1)" ...></div>
Sowas ist ganz großer Käse.
Stell das bitte erst mal auf vernünftige Links um, um die optischen Gimmicks kannst du dich dann später kümmern.

 
webtaste6659
14-07-2010, 23:26 
 
Was mich jetzt mal interessieren würde:

Weist Du einfach selbst keine Lösung und versuchst hier klug zu erscheinen in dem Du jeden kleinen Fehler anprangerst den Du findest oder bringt es dir einfach nur jede menge Spaß - wie übrigens auch im letzten Thread - Jeden noch so kleinen Fehler zu suchen, welche eigentlich gar nichts mit dem Thema zu tuen haben?

"Das stand weder explizit in deiner Problembeschreibung" bla bla bla

Um genau zu sein steht bisher keiner der Punkte die Du angesprochen hast in meiner Problembeschreibung, aber das scheint dein großes Hobby zu sein: Helfen Probleme zu finden die gar nicht existieren, das aktuelle Problem wonach gerade gefragt wurde ignorieren wir dann am besten einfach.

Der Fehler kommt übrigens im FireFox bei mir.

Btw: "weil du es versäumt hast, Sonderzeichen URL-gerecht zu kodieren." tolle Fehleranalyse, ich würde ja behaupten 404 = Seite existiert einfach nicht, was auch der Fall ist. Also nichts mit Sonderzeichen, aber, nochmal danke für einen weiteren Fehler den Du gefunden hast und der mich nicht die Bohne interessiert.

 
wahsaga
14-07-2010, 23:34 
 
Weist Du einfach selbst keine Lösung
Doch, aber dazu muss ich erst mal das Problem nachvollziehen können.

Der Fehler kommt übrigens im FireFox bei mir.
Das ist eine wesentliche Info, wieso lieferst du die nicht gleich?

Btw: "weil du es versäumt hast, Sonderzeichen URL-gerecht zu kodieren." tolle Fehleranalyse, ich würde ja behaupten 404 = Seite existiert einfach nicht, was auch der Fall ist.
Du hast geschrieben:
Auf "Abnehmen mit Diäten klicken" > Maus weg bewegen vom Knopf
Wenn ich auf "Abnehmen mit Diäten" klicke, dann ist da gar kein „Knopf“ mehr, von dem ich die Maus wegbewegen könnte.
Dass der 404 an der Stelle „Absicht“ war, kann ich auch nicht erraten.

Scheiß mich also bitte nicht dafür an, wenn du nicht mal eine halbwegs konsistente Problembeschreibung auf die Reihe kriegst.


Vermutlich lässt sich das Problem ganz simpel lösen, in dem du einfach beim Laden der Seite erst mal alle Buttons auf den mouseout-Zustand setzt.

"Das stand weder explizit in deiner Problembeschreibung" bla bla bla

Noch 'ne Antwort in dem Tonfall, und der Thread wandert auf den Müll.

 
webtaste6659
14-07-2010, 23:44 
 
Vermutlich lässt sich das Problem ganz simpel lösen, in dem du einfach beim Laden der Seite erst mal alle Buttons auf den mouseout-Zustand setzt.

Dafür müsste die Seite aber neu Laden? Was der Browser glaube ich nicht macht beim "Zurück-Knopf".

Jedenfalls, das geschreibe mit dir hat mich auf eine Idee gebracht was auch funktioniert hat, ich habe meinen Effekt einfach etwas erweitert:

onmouseover='On(2)' onmouseout='Off(2)' onClick="Off(2); location.href='sport.html';"

Jetzt wird der Orginalzustand wiederhergestellt bevor er die Seite verlässt, jetzt kann er auch gerne den "Browser-Zurück"-Knopf benutzen im FF :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:05 Uhr.