Variablen in Obektnamen
Bleicher
- javascript
ISt es möglich Variablen in Objektnamen zu verwenden??z.B.:
[for (xyz=1; xyz<10; xyz++)
document.imageXYZ.src=bla.jpg
setTimeOut.....]???
Hallo,
ISt es möglich Variablen in Objektnamen zu verwenden??
nicht in der Form, wie du es formuliert hast. Aber mit einer anderen Art der Adressierung ist das kein Problem:
document["image"+xyz].src=bla.jpg;
So long,
Martin
Hi,
document["image"+xyz].src=bla.jpg;
natürlich fehlen da außerdem die Anführungszeichen, also:
document["image"+xyz].src = "bla.jpg";
Ciao,
Martin
alert( document.images["bild"+start] );
ergibt "undefined"..
und das mit Anfürungszeichen ist klar - so doof bin ich auch wieder nicht :)
Hallo bleicher.
alert( document.images["bild"+start] );
ergibt "undefined"..
Natürlich. Wie du dem von mir verlinkten Kapitel entnehmen konntest, erwartet document.images einen Index, sprich einen ganzzahligen Wert und keine Zeichenkette.
Prinzipiell ist es möglich, auf Objekte an Hand übergebener Namen zuzugreifen, doch dein Vorhaben ist mir nach wie vor schleierhaft.
Versuchst du, über document.all auf das Objekt zuzugreifen?
Einen schönen Sonntag noch.
Gruß, Ashura
alert( document.images["bild"+start] );
ergibt "undefined"..Natürlich. Wie du dem von mir verlinkten Kapitel entnehmen konntest, erwartet document.images einen Index, sprich einen ganzzahligen Wert und keine Zeichenkette.
Das stimmt nicht.
Wenn es ein Bild mit dem Namen "bildX" wobei X der Wert für start ist muss das obige funktionieren.
Struppi.
Hallo Struppi.
Das stimmt nicht.
Ja, eben nachgelesen. Macht der Gewohnheit.
Wenn es ein Bild mit dem Namen "bildX" wobei X der Wert für start ist muss das obige funktionieren.
^gibt
Ja, sollte es.
Einen schönen Sonntag noch.
Gruß, Ashura
Das stimmt nicht.
Ja, eben nachgelesen. Macht der Gewohnheit.
Ist ganz einfach.
Der Index Operator [] kann immer auch für den Zugriff auf eine Eigenschaft eines Objektes verwendet werden und [Object] ist fast alles in JS.
Struppi.
Hallo Struppi.
Der Index Operator [] kann immer auch für den Zugriff auf eine Eigenschaft eines Objektes verwendet werden und [Object] ist fast alles in JS.
Ja, ist mir bewusst.
Wie gesagt ist es reine Macht der Gewohnheit, document.images nur in Verbindung mit einem Index zu verwenden.
Einen schönen Sonntag noch.
Gruß, Ashura
Ihr könnt mich noob schimpfen aber bis jetzt hat NICHTS geholfen...
----------------------------------------------
<html>
<head>
</head>
<SCRIPT LANGUAGE="JavaScript">
var speed=10;//GGeschwindigkeit (pixel pro Schritt)
var max=3; //Anzahl der Bilder MINUS 1
var start= 0;//iniziirende Variable
var left=90;//Position des ersten Bildes
var abstand=50;//Abstand Zwischen den Bildern
var a=0;//Zwischenseicher
var time=20;//Zeit (milisek pro Schritt)
function bewegen()
{
if (start<max) {
var variable = "banner"+start;
move();
}
}
function move() {
if (a<(start*abstand)+left) {
a=a+speed;
alert(document.images["bild"+start]);
document["bild"+start].style.left=a;
setTimeout ('move()', time);
} else {
start++;
bewegen()
}
}
</SCRIPT>
<body onLoad="bewegen()">
<img src="pic/attention.gif" alt="" border="0" id="" name="" style="position:absolute; left:-20px; top:10px">
<img src = "pic/no.gif" id="1" name="bild1" style="position:absolute; left:-20px; top:10px" >
<img src = "pic/yes.gif" id ="2" name="bild3" style="position:absolute; left:-20px; top:10px">
<img src = "pic/no.gif" id ="" name="bild2" style="position:absolute; left:-20px; top:10px" ><br>
</body>
</html>
Ihr könnt mich noob schimpfen aber bis jetzt hat NICHTS geholfen...
nooob!
<html>
<head>
</head>
<SCRIPT LANGUAGE="JavaScript">
hier fehlt das type Attribut,während das language Attribut schon lange mißbiligt ist. Und der skriptblock gehört innerhalb von Head nicht außerhalb.
Aber jetzt zu deinem Problem:
var start= 0;//iniziirende Variable
...
alert(document.images["bild"+start]);
document["bild"+start].style.left=a;
...
<img src = "pic/no.gif" id="1" name="bild1" style="position:absolute; left:-20px; top:10px" >
Merkst du hier eine Diskrepanz?
Lass dir mal alert("bild"+start); ausgeben.
Struppi.
verdammt - das war der Relikt von den Versuchen die Bilder über index anzusprechen XD DAAANKE! (ob ich noch ne chance zu lernen habe solche Fehler selbst auszumerzen?)
verdammt - das war der Relikt von den Versuchen die Bilder über index anzusprechen XD DAAANKE! (ob ich noch ne chance zu lernen habe solche Fehler selbst auszumerzen?)
Ja, immer versuchen schritt für Schritt bei der Fehlersuche weiterzukommen, dabei lernt man oft mehr als sich einfach nur die Lösung sagen lassen. Debugging ist das A und O des programmierens
also wie in deinem Fall, schritt für Schritt sich jedes anzeigen zu lassen ob es vorhanden ist und welchen Wert es hat (bei Objekten gibt es z.b. die Möglichkeit über for(eigenschaft in objekt) alle Eigenschaften rauszuholen)
Struppi.
alert( document.images["bild"+start] );
ergibt "undefined"..
Dann gibt es kein Bild mit dem Namen in deinem Dokument.
Struppi.
--->>document["image"+xyz].src=bla.jpg;
hab ich in der Form
---->>document["bild"+start].style.left=a;
eingesetzt und kriege nun eine Fehlermeldung :
'document[...].style is null or not an object'
die Bilder haben aber 'style/left etc.' Tags :(
--->>document["image"+xyz].src=bla.jpg;
hab ich in der Form
---->>document["bild"+start].style.left=a;
eingesetzt und kriege nun eine Fehlermeldung :
'document[...].style is null or not an object'
die Bilder haben aber 'style/left etc.' Tags :(
Aber vermutlich andere Namen.
Was ergibt denn:
alert( document["bild"+start] );
bzw. da du von bildern redest:
alert( document.images["bild"+start] );
Struppi.
Hallo Bleicher.
ISt es möglich Variablen in Objektnamen zu verwenden??z.B.:
[for (xyz=1; xyz<10; xyz++)
document.imageXYZ.src=bla.jpg
setTimeOut.....]???
Du meinst http://de.selfhtml.org/javascript/objekte/images.htm@title=document.images[xyz]? Hier kannst du in der Tat über den Index auf alle Bilder im Dokument zugreifen.
Einen schönen Samstag noch.
Gruß, Ashura