'bildernormal`ist undefiniert

hagi2k2

Erfahrenes Mitglied
Diser Fehler kommt bei mir,wenn ich die seite aufrufe
hier ist der script
was ist falsch?

PHP:
<script>
bildernormal[0]="navhead/navx1.jpg"
bildernormal[1]="navhead/navx2.jpg"
bildernormal[2]="navhead/navx3.jpg"
bildernormal[3]="navhead/navx4.jpg"
bildernormal[4]="navhead/navx5.jpg"
bildernormal[5]="navhead/navx6.jpg"
bildernormal[6]="navhead/navx7.jpg"
bildernormal[7]="navrest/credits00.jpg"
bildernormal[8]="navrest/links00.jpg"
bildernormal[9]="navrest/nbastars00.jpg"

var anzmen=bildernormal.length

bildname=new Array
bildname[0]="name1"
bildname[1]="name2"
bildname[2]="name3"
bildname[3]="name4"
bildname[4]="name5"
bildname[5]="name6"
bildname[6]="name7"
bildname[7]="name8"
bildname[8]="name9"
bildname[9]="name10"

function bildwechsel(bildaktuell,adresse)
{
for(i=0;i<anzmen;i++)
{
document.images[bildname[i]].src=bildernormal[i];
}
document.images[bildaktuell].src=adresse;
}
</script>
 
Da fe lt ein:
PHP:
bildernormal = new Array();
zu Beginn, sonst weiß der Interpreter doch nicht, um was für einen Datentypen es sich handeln soll...

Außerdem bitte ganz schnell solche Konstrukte hier vergessen:
PHP:
<script>
denn ein <script>-Tag verlangt Attribute, eins davon wäre zumindest das type-Attribut, ein bisher noch optionales das language-Attribut:
PHP:
<script type="text/javascript" language="JavaScript">
Übrigens solltest du dir weiterhin angewöhnen, mit Semikolons zu arbeiten, das ist ein feiner Usus, wenn auch natürlich kein Muss. :)

hth,
Geist
 
Hoi,

nunja ich hab schon des öfteren die Geschichte erlebt, kann dir den Grund dafür aber ehrlich gesagt nicht nennen - denke eher nicht, dass es eine Frage des Scriptes ist.

Kannst ja aber gern mal das komplette Script hier hinsetzen und ich test's mal - so wie's bisher erkenntlich ist, lässt sich zur Funktionsweise nix wirkliches erkennen. :)

Geist
 
das script habe ich sogar hier ausm board


PHP:
<script type="text/javascript" language="JavaScript">

//Hier gibst Du den Pfad zum normalen Bild an

bildernormal=new Array()
bildernormal[0]="image1.jpg"
bildernormal[1]="image2.jpg"
bildernormal[2]="image3.jpg"
	
var anzmen=bildernormal.length

//Hier schreibst Du den Namen rein, den Du dem jeweiligen Image im <img>-Tag mitgibst

bildname=new Array
bildname[0]="name1"
bildname[1]="name2"
bildname[2]="name3"

function bildwechsel(bildaktuell,adresse)
{
for(i=0;i<anzmen;i++)
{
document.images[bildname[i]].src=bildernormal[i];
}
document.images[bildaktuell].src=adresse;
}
</script>
--------------------------------------------------------------------------------


Soviel zum Headbereich...Jetzt zum Link... 


code:--------------------------------------------------------------------------------
<a href="URL." onmouseover="bildwechsel('name1','image1_on.jpg')" onmouseout="bildwechsel('name1','image1.jpg')"><img src="image1.jpg" width="50" height="50" alt="text" border="0" name="name1"></a>
--------------------------------------------------------------------------------


Bei onmouseover="" gibst Du das Hoverbild an. Bei onmouseout="" wieder das Normale.


auf http://www.hoophood.com gibbet die ganze sache zu bestaunen (ist noch net fertig,net lachen pls:( )
 
Nunja, der Bilderwechsel geschieht ja deswegen so augenscheinlich langsam, weil die Bilder, die du statt der ursprunglichen Bilder einsetzt, noch nicht im Usercache sind und daher erstmal die URL geladen werden muss, bevor der Inhalt des Bildobjekts angezeigt werden kann.
Preloading ist ja in deinem Script nicht enthalten, du weist beim Bildaustausch nur einem bestehenden Bildobjekt eine neue src-Eigenschaft, so dass der Browser von der angegebenen URL sich Bilddaten in das Bildobjekt lädt.

Btw. heißt die Syntax:
PHP:
bildname = new Array();
und nicht
PHP:
bildname = new Array;
um eine Instanz der Objektklasse "Array" zu erzeugen.

Wenn du wissen willst, wie das Preloaden der einzutauschenden Bilder vor sich geht, dann solltest du mal die hiesige Suchfunktion zu Rate ziehen, das hatten wir schon ein paar Male. :)

Wofür ist eigentlich die for-Schleife in deinem Script?
Also Funktionsweise ist mir schon klar, aber warum willst du alle Bilder tauschen, wenn der User mit dem Cursor über eins der Bilder fährt?

hth,
Geist

P.S.:
Gutgemeinter Hinweis - du solltest übersichtlicher scripten:
Heißt wirklich ab und zu mal Freizeichen im Code lassen, mit Semikolons am Anweisungsende trennen und auch syntaktische Einheiten wie Parenthesen () nicht weglassen...
 
wie mache ich dann dass der nur ein bild tauscht?
ich hab das ja hier aus dem board irgendwo aufgegriffen:)
preload werde ich mich shcon kümmern, kannse mir bei
der sache mitm vertauschen aller bilder bei überfahren eines bildes helfen?

:)
 
Um nur das entsprechende Bild bei mouseOver auszutauschen, brauchst du nur die komplette for-Schleife aus der Funktion zu nehmen und die Sache ist gegessen. :)

Geist
 

Neue Beiträge

Zurück