abfragen ob onclick Event ausgeloest wurde.

adb

Grünschnabel
Hallo,

die Situation ist folgende, ich habe eine kleine Gallerie angelegt. Die navigation erfolgt durch kleine quadratische Elemente an der Seite des Bildes. Um die ganze Sache visuell ansprechender zu machen habe ich mit onmouseover (rotes Kaestschen) und mit onmouseout (wieder graues Kaestschen) gearbeitet. Entscheidet sich der Nutzer fuer ein Quadrat (sprich, er moechte das Bild sehen, fuer welches das Viereck steht), soll das geklickte Quadrat mit einer dritten Grafik, dauerhaft belegt werden. Aber dieser Befehl (ich dachte mir onMouseUp macht dis schon, weil ja dann auf den Link/das Quadrat geklickt wurden sein muss.) Funktioniert alles Prima, doch leider gibt es ja noch das onmouseout event welches, die dritte Grafik mit der nomalen Grafik ueberschreibt, sobald der Cursor die Grafik verlaesst.

Es ist also von Noeten, dass ich ueberpruefe ob das onClick Event ausgeloest wurde und, je nach dem Ergebnis, das onmouseout Event angepasst wird.

bisher sieht es, in vereinfachter Form, so aus:
Code:
<a href=# onclick="imgBox.src='Bild01'"><img src="kastenGrau.jpg" name="imgKasten" onmouseover="imgKasten.src='kastenRot.jpg'" onmouseout="imgKasten.src='kastenGrau.jpg'">

ich koennte jetzt veruschen, da das onclick Event noch "; imgKasten.src='imgKastenRotVoll.jpg'" dranzuhaengen, doch dies wird, sobald die Maus den Kasten verlaesst ja wieder durch das onmouseout Event abgeloest.

Was brauche ich also, bzw. um was bitte ich Euch?
Eine Funktion die ueberprueft ob, das onclick ausgeloest wurde und gegebenenfalls das onmouseout Evenet beeinflusst, bzw. abaendert.
 
Dü könntest da eine if Abfrage machen
Javascript:
if(imgBox.src)!='Bild01')
{
  // Mache den onmouseout
}
 
Mir ging es weniger um das Bild, welches durch das Klicken in der BilderBox einfuegt, sondern um die Menugrafik (das Kaestschen).

Es waere sehr nett von Dir, wen Du mir zeigen koenntest wie ich, die von Dir vorgeschlagene Funktion umsetzten koennte, aber da ich hoechstwahrscheinlich nicht um eine Abfrage (ob nun onclick oder nicht) herumkomme, muesste diese Funktion wohl abgeaendert werden muessen.

Um es nochmal zu verdeutlichen: wenn geklickt wurde, dann wird das kaestchen mit menuGrafik03 hinterlegt. Diese Grafik bleibt auch bei onmouseout. Wenn nicht geklickt wurde, soll onmouseout die bisherige Grafik beibehalten (menuGrafik01). onMouseover bleibt bei menuGrafik02.
 
HTML:
if(document.captureEvents)
    document.captureEvents(Event.MOUSECLICK);
document.onmouseclick = function;


Abgesehen davon, Junge machs nicht zu Kompliziert.
Wie wäre es mit einem CSS StyleSheet, wenn das sowieso Links sind gibt es sowas wie a:hover, da kannst du dann den Border auch umfärben.

Nicht immer soviel JS, wenns auch mit CSS geht.
 
Zuletzt bearbeitet:
Ja, du fragst beim onmouseout einfach ab ob die Grafik menuGrafik03 ist
Wenn ja wechselt er nicht zu menuGrafik01.
Wenn nein wechselt er zu menuGrafik01.

Oder habe ich dich da falsch verstanden?
 
tobee hat gesagt.:
Ja, du fragst beim onmouseout einfach ab ob die Grafik menuGrafik03 ist
Wenn ja wechselt er nicht zu menuGrafik01.
Wenn nein wechselt er zu menuGrafik01.

Oder habe ich dich da falsch verstanden?
Durchaus richtig hast Du mich verstanden, nur leider verfuege ich noch nicht ueber das notwendige KnowHow in der der Javascript Programmierung um dies Umzusetzen. D.h. ich waere Dir sehr verbunden, wenn Du Deinen Vorschlag auch gleich in eine Funktion packen koenntest.
 
HTML:
function check(img){
    if(img.scr=="menuGrafik03.gif")
        img.scr = "menuGrafik01.gif"
    else
        img.scr = "menuGrafik03.gif"
}
Übergeben must die an die funktion check(this).
Quasie Check This!
 
Oder so
Javascript:
function check(img){
    if(img.scr!="menuGrafik03.gif")  img.scr = "menuGrafik01.gif";
}
 
Also, auf ein neues :)

Wenn ich klicke, moechte ich das das onmouseout Event die Grafik Nummer 3 (die Dieses-Bild-Ist-Zurzeit-ausgewaehlt-Grafik) zum Vorschein bringt. Wenn ich nicht klicke, soll onmouseout die Grafik Nummer 1 (die Ausgangsgrafik) anzeigen. Onclick soll also quasi onmouseover ueberschreiben.
 
Das würde dann so aussehen:
HTML:
<script type="text/javascript">
function check(img){
    if(img.scr!="menuGrafik03.gif")  img.scr = "menuGrafik01.gif";
}
</script>

<a href=# onclick="imgBox.src='Bild01'"><img src="kastenGrau.jpg" name="imgKasten" onmouseover="imgKasten.src='kastenRot.jpg'" onmouseout="check(this);'">
 

Neue Beiträge

Zurück