Objekt erwartet?

Hi,
ich glaub, ich bin langsam zu dumm für JS. Fehlermeldung im IE (7):

[quote=“Internet Explorer”]Zeile: 27
Zeichen: 8
Fehler: Objekt erwartet
Code: 0[/quote] Der Code: [code]

Unbenanntes Dokument
<<
<
>
>>
[/code] Was hab ich wieder Falsch gemacht? Ich frage jetzt hier, weil google mir gezeigt hat, dass dieser Fall sehr verschiedene Ursachen haben kann.

Falls das das ist, was du willst: der Code funktioniert:

[code]

Unbenanntes Dokument
Bild
<<
<
>
>>
[/code] Warum gibst du deinem Bild die id "image1.jpg", aber den Pfad "Image1.png"?? Das Problem war, das javascript es nicht geschafft hat, den marginwert mit parseInt in eine Zahl umzuwandeln. Ich ersetze im Script jetzt einfach das px durch nichts, den Rest kann javascript einfach so als Zahl verwenden. Außerdem hast du vergessen, dem neuen Wert wieder eine Maßeinheit zu geben.

ah, danke. Aber FF will immer noch nicht.

[quote=„Fehler-Konsole“]Warnung: Fehler beim Verarbeiten des Wertes für Eigenschaft ‚margin-left‘. Deklaration ignoriert.
Quelldatei: file:///D:/ED/gal/javascript-galerie.html
Zeile: 0[/quote]
Wie soll ich bitte die Variable deklarieren? :ps:

[code]

Unbenanntes Dokument
<<
<
>
>>
[/code] Danke im Vorraus

Dein Tag ist falsch. Nimm doch einfach das, das ich dir gepostet habe, das geht sowohl in FF als auch in IE
So muss es heißen:

Habe es eingefügt, immer noch das selbe.
Aaaaaaaahhhhh!!! was ist da Falsch :qst: :motz:

auf den script tag kommt es nicht wirklich entscheidend drauf an…
ich verwende meistens (immer) oder auch <script language="text/javascript>
ob das text/ vor dem javascript steht spielt nur bei den browsern ne rolle, die den script tag nicht kennen sprich: zu dumm sind für JS

was du falsch machst?
z.B. das hier:

akt = img.style.marginLeft; akt = akt.replace('px',''); du kannst dort gar nicht px duirch nichts ersetzen, da dort auto gesetzt ist…

und ich hoffe, dass du auf dieser seite nur ein <img tag hast, denn ansonsten kann das: akt = img.style.marginLeft;der fehler sein…
und: sollte es nicht … img.style.margin-left; heissen?

achja: ich würde bei solchen dingen immer id’s verwenden, denn dann kannst du es so machen:
akt = document.GetElementById(‘id_des_bildes’).style.marginleft;

hoffe es war dir nicht zu viel, und ich hab mich nicht falsch ausgedrückt…

mfg Joey

[quote=“bcg”]du kannst dort gar nicht px duirch nichts ersetzen, da dort auto gesetzt ist…
[/quote] Na eigentlich schon. replace() ersetzt die Daten nur “px” durch “”. Naja, wenn kein “px” vorhanden ist, kann man da ja auch schlecht was ersetzen.

[quote=“bcg”]und ich hoffe, dass du auf dieser seite nur ein <img tag hast, denn ansonsten kann das:
Code:
akt = img.style.marginLeft;
der fehler sein…[/quote] Wieso sollte das Falsch sein? Die Elemente werden ja schon mit ID angesprochen. Hier wurde nur um Tipparbeit zu ersparen “document.getElementById(images[i])” in die Variable img gepackt.
Greetz
Michi

[quote=“bcg”]ich verwende meistens (immer) oder auch <script language="text/javascript>
ob das text/ vor dem javascript steht spielt nur bei den browsern ne rolle, die den script tag nicht kennen sprich: zu dumm sind für JS[/quote]
Ähm, das ist Blödsinn. Abgesehen davon, Scriptsprachen werden durch den Mimetype identifiziert, die „korrekteste“ Version wäre:<script type="text/javascript"></script>
Die meisten Browser akzeptieren auch noch das language-Attribut, aber das ist veraltet.
[size=85][Quelle: http://de.selfhtml.org/html/transit/scripts.htm#definieren][/size]

Mit CSS-Eigenschaften ist das so eine Sache, - ist reserviert, deswegen werden die Eigenschafts-Bezeichnungen automatisch in JavaScript-freundliche Variablen umgewandelt (marginLeft z. B.).

Das kann auch falsch sein, manche Browser machen unter Umständen Kopien anstatt eine Referenz zu dem Element. Sollte aber meistens funktionieren.

Nimm doch einfach GENAU das:

[code]

Unbenanntes Dokument
Bild
<<
<
>
>>
[/code] (vll musst du den Bildpfad anpassen) Bei mir funktioniert das sowohl in FF als auch in IE.

Mir fällt da noch was zum Fehler “Objekt erwartet” ein. Letztens habe ich auch so einen Fehler im IE (Version 6) gehabt. Der Grund (klingt komisch - is aber so) war, dass über einer JavaScript-Funktion ein Kommentar war (?). Es war ein Höllenaufwand, das herauszubekommen, weil nur Zeile 1, Spalte 1 angezeigt wurde.

Kennt vllt jemand ein IE-Addon, das diese Fehler anzeigt?

Ja! es funkt? Was hast du geändert?
@stgr: Ein IE addon kenne ich nicht aber ganz nützlich ist auch die Fehler-Konsole von Firefox (Extras>Fehler-Konsole). Sie zeigt die Fehler etwas genauer an.

POST2:
So ich hab den Code erweitert. aber irgendwie funktioniert da was nicht, wenn ich das Auf die Zeiger nach rechts zeige: Das Bild springt. aber weit. Quellcode:

[code]

Unbenanntes Dokument
Bild
<<
<
>
>>
[/code]

Geändert habe ich eigentlich nichts, vll hast du nur vergessen den Pfad anzupassen.

Zum neuen Problem:
Javascript verwendet + in diesem Fall als Verkettung von Strings, da akt ein String ist. Seltsamerweise funktioniert das Umwandeln zum Integer nicht, deshalb habe ich jetzt einfach neu = akt-(-s) verwendet, so geht es (bei mir)

[code]

Unbenanntes Dokument
Bild
<<
<
>
>>
[/code]

Hast du nur das + durch -(- ersetzt?

ja, denn da - NUR ein Rechenoperator und kein Verkettungsoperator ist, zwinge ich js damit zum rechnen…
Im anderen Fall hat js einfach die zwei Variablen aneinander gehängt, also:
Durchgang 1 2 3
Wert 1 11 111
und so weiter, deshalb ist das Bild so schnell gehüpft.

Danke. Habe verstanden. Da hätte ich auch drauf kommen müssen…
Würde sagen: ~THREAT CLOSED~

grtz
michi