02. marts 2004 - 19:20
Der er
32 kommentarer og 1 løsning
billede - document.images[x]
nu har jeg brugt timer på at vælte rundt på nettet efter en løsning på det her. men nu har jeg overgivet mig, og spørger her i stedet: alle billeder på en side har et index x - document.images[x] - hvor x er det nr. billede det er på siden. er det på nogen måde muligt at hive dette nummer ud af et specifikt billede til brug andetsteds? fx. noget ala window.status = 'index: ' + document.images.this; ved en onclick på et <img>-tag. giver spørgsmålet overhovedet mening? =)
Annonceindlæg fra Barco
02. marts 2004 - 19:38
#1
Prøv denne lille funktion: function findIndex(bld) { var i=0; while (document.images[i]) { if (document.images[i]==bld) {return i;} else i++; } } <img src="bld1.png" onclick="alert(findIndex(this))" /><img src="bld2.png" onclick="alert(findIndex(this))" />
02. marts 2004 - 19:42
#2
> document.images[i]==bld hmm... variablen bld?
02. marts 2004 - 20:57
#3
function findIndex(bld) { <---- "bld" (står sikker for billede: BiLleDe)
02. marts 2004 - 21:01
#4
ja, og den referer til det billede du trykker på (pga findIndex(this) hvor this jo er billedet hvorfra du kalder funktionen).
02. marts 2004 - 22:11
#5
ohh... det kunne være jeg skulle åbne øjnene og støve hjernen af. undskyld. jeg afprøver det lige. =)
02. marts 2004 - 22:28
#6
virker den hos nogen af jer? min går bare i uendelig lykke så jeg til sidst er nødt til at kværke browseren. this er jo heller ikke et tal men et DOM HTMLImageElement. =)
02. marts 2004 - 22:32
#7
Prøv: <script type="text/JavaScript"> function findIndex(bld) { for (i=0; i<document.images.length;i++) { if (document.images[i] == bld) {return i} } } </script>
02. marts 2004 - 22:36
#8
god ide. men det løser stadigt ikke problemet med at this ikke er et tal men en HTMLImageElement
02. marts 2004 - 22:38
#9
hmm... sådan?: <img src="billede1.jpg" onclick="window.status = 'index: ' + findIndex(this);" /> <img src="billede2.jpg" onclick="window.status = 'index: ' + findIndex(this);" />
02. marts 2004 - 22:44
#10
funktionen returnerer jo netop et tal - this er bare "inputtet", altså det billede som du vil finde index for.
02. marts 2004 - 22:45
#11
det lyder som om at du har fat i noget af det rigtige. men jeg kan ikke få det til at virke. kan du selv det? =)
02. marts 2004 - 22:45
#12
3xm> du vil gerne have den til at skrive "index: 1" (f.eks.).. det gør du sådan her: <img src="billede1.jpg" onclick="window.status = 'index: ' + findIndex(this);" />
02. marts 2004 - 22:48
#13
skovenborg. igen sover jeg. men det ændrer ikke på at funktionen stadigt ikke virker. surfer: virker det hos dig?
02. marts 2004 - 22:49
#14
3xm> Jo, det virker :) Her er koden jeg bruger: <script type="text/JavaScript"> function findIndex(bld) { for (i=0; i<document.images.length;i++) { if (document.images[i] == bld) {return i} } } </script> <img src="billede1.jpg" onclick="window.status = 'index: ' + findIndex(this);" /><img src="billede2.jpg" onclick="window.status = 'index: ' + findIndex(this);" />
02. marts 2004 - 22:49
#15
min javascript console siger at findIndex ikke er defineret. er du sikker på at det er en funktion der findes?
02. marts 2004 - 22:50
#16
godt så... tillad mig at undskylde for alt mit soveri. nu tager jeg mig lige sammen og kigger det hele igennem. =)
02. marts 2004 - 22:50
#17
jeg testede også den første jeg lavede i både Opera, Mozilla og IE (de nyeste versioner) - så det burde virke ;-)
02. marts 2004 - 22:51
#18
ikke definere? det er jo en funktion! :) Smid lige hele din kode herind.. der er noget galt.. skovenborg> skulle din kode ikke være?: function findIndex(bld) { var i=0; while (document.images[i]) { if (document.images[i]==bld) { return i; } else { i++; } } }
02. marts 2004 - 22:53
#19
man behøver sådan set ikke {}-tegnene hvis man kun skal skrive en enkelt linie efter if eller else.
02. marts 2004 - 22:53
#20
...men det kan være du synes det er pænere ;-)
02. marts 2004 - 22:53
#21
weeeee! så virker det. mange tak skal i have, begge to. hvis i vil have point, så smid et svar. så kaster jeg 62 efter jer begge. =)
02. marts 2004 - 22:54
#22
okay - værsågod :-) hvad var der egentlig galt før ?-)
02. marts 2004 - 22:54
#23
OK :) Ja, jeg synes at det er pænere.. og jeg har programmerer i VB osv :)
02. marts 2004 - 22:54
#24
hov jeg er godt nok ikke god til at ramme svarknappen ;-)
02. marts 2004 - 22:55
#25
du har ret i det med {}. personligt bruger jeg dem helst fordi jeg som regel glemmer at sætte dem senere hvis jeg tilføjer flere linier til if'en. så for en ren og skær sikkerhedsmæssig skyld. =)
02. marts 2004 - 22:55
#26
thesurfer >> Du kan have ret i det er pænere - det er sådan set en gammel vane jeg ikke skriver {} medmindre det er nødvendigt ;-)
02. marts 2004 - 22:56
#27
der var det galt at jeg troede findIndex var en indbygget funktion. min hedder billede, og efter en tv-avis havde jeg glemt alt om hvad i kaldte jeres. =)
02. marts 2004 - 22:58
#28
nåå, ja det kan jo forvirre ;-)
02. marts 2004 - 22:58
#29
surfer, jeg opretter lige et spørgsmål til dine point...
02. marts 2004 - 22:59
#30
hmm.. du kunne jo give points til beggge 2, ved at holde CTRL nede og klikke på begge vores navne :)
02. marts 2004 - 23:00
#31
02. marts 2004 - 23:00
#32
du kunne da også bare have delt dem lige over --- jeg kan godt oprette et i stedet hvis du vil...
02. marts 2004 - 23:00
#33
jamen så deler den de 62 mellem jer. i skal have 62 hver.
Vi tilbyder markedets bedste kurser inden for webudvikling