Imagebutton mit mousover / mousedown

Nekronata

Grünschnabel
Also gut, zuerst einmal, hab jetzt schon ein paar Tage rumgesucht, nach einer Lösung für mein Problem. Hab jetzt leider auch nicht so die Ahnung von Jawaskript, da ich mich erst seit ein paar Tagen intensiev damit beschäftige *G*.

Also das Problem ist folgendes: Ich möchte mehrer Buttons, als Menüe einbauen, auf meiner Webseite. Das mit dem Mouseover funktioniert ohne Probleme. Den Code dafür bekommt man ja überall. Ok, nun wollte ich, aber, das sich das Bildchen, auch beim draufklicken ändert. Hierfür hab ich auch einen Code gefunden, der alerdings, nicht so ganz will, wie ich ;). Der macht irgendwie gar nichts:

Code:
<SCRIPT language="text/JavaScript">

upImage = new Image();
upImage.src = "Source/Images/Links/home2.jpg"; /* Mousover */
downImage = new Image();
downImage.src = "Source/Images/Links/home3.jpg" /* Mousklick */
normalImage = new Image();
normalImage.src = "Source/Images/Links/home.jpg"; /* Normalzustand */


function changeImage()
{
  document.images[jsbutton].src= upImage.src;
  return true;
}
function changeImageBack() 
{
   document.images[jsbutton].src = normalImage.src;
   return true;
}
function handleMDown()
{
 document.images[jsbutton].src = downImage.src;
 return true;
}
function handleMUp()
{
 changeImage();
 return true;
}

</SCRIPT> 
			<a href="new_selftest.htm" 
			onMouseOver="return changeImage()" 
			onMouseOut= "return changeImageBack()" 
			onMouseDown="return handleMDown()" 
			onMouseUp="return handleMUp()"><img
			name="jsbutton" src="Source/Images/Links/home.jpg"
                                                width="196" height="50" border="0" 
			alt=""></a><br>
</body>

Folgendes hab ich schon ausprobiert:

- Skript in den Head
- Skript in den Body

Fehlermeldungen:
- Keine, auser das der IE7 nachfrägt, ob der Skript ausgeführt werden darf (da ja noch lokal auf der Festplatte
- Firefox macht gar nichts.

Das wäre erstmal das wichtigste.

Und noch eine wohl etwas kompliziertere Frage am Rande, ebenfals diesen Button betrefend:

Wäre es auch möglich, die Buttons so zu machen, das wenn ein Button geklickt wird, ein anderes Bild eingeblendet wird, nachdem die Maus wieder vom Button weg ist. Sich dieses geänderte Bild, wieder auf das Standartbild ändert, wenn ein anderer Button angeklickt wird.

Also so in der Art, wie das zB in der Taskleiste bei Windows der Fall ist:

Bild 1(normal) - mousover - Bild 2(mouseover)
Bild 3(mouseover) - mousecklick - Bild 4(mousecklick + mouseover)
Bild 5(mouseklick - mouseover) - Maus auf einem anderem Button
Bild 6(mouseklick + mouseover2) - Maus auf dem Bild

Maus klickt einen anderen Button --> Der vorher geklickte Button wird wieder Bild 1

Danke schon mal im Vorraus
 
Probier mal bitte, den oberen Teil deiner JS-Anweisungen zu ändern:

Javascript:
<SCRIPT language="JavaScript">

var jsbutton = 0;
var upImage = new Image();
upImage.src = "Source/Images/Links/home2.jpg"; /* Mousover */
var downImage = new Image();
downImage.src = "Source/Images/Links/home3.jpg" /* Mousklick */
var normalImage = new Image();
normalImage.src = "Source/Images/Links/home.jpg"; /* Normalzustand */

Probier das mal und poste das Ergebnis!

Dirk
 
Mhh, funktioniert immer noch nicht :-/

Könnte das auch daran liegen, das hier nichts in den Klammern steht, so wie bei den Mousover Effekt zB von Self HTML?


Code:
			onMouseOver="return changeImage()" 
			onMouseOut= "return changeImageBack()" 
			onMouseDown="return handleMDown()" 
			onMouseUp="return handleMUp()"><img
 
Du hast dort 2 Fehler drinnen.

Code:
<SCRIPT language="text/JavaScript">
...das korrekte Attribut für "language" wäre dort schlicht javascript

Heutztage wird dort jedoch das type-Attribut verwendet, da hiesse es dann richtig:
Code:
type="text/javascript"

...der Browser ignoriert allein schon wegen dieser falschen Angabe das komplette Skript.

Code:
document.images[jsbutton].src
jsbutton muss dort in Anführungszeichen notiert werden, da es sich nicht um eine Variable handelt.
 

Neue Beiträge

Zurück