Elya: Endlos-Scrollbild mit Timeout und NN6

Hallo,
falls Ihr bei diesem fantastischen Wetter nicht eh schon draußen im Biergarten sitzt, habe ich folgendes kleines Problem für Euch:

Zwei 1200 Pixel breite Bilder werden per id aneinandergesetzt und dann animiert. Wenn das Bild links rausgeht, soll es rechts wieder angesetzt werden usw. Und dann per Timeout endlos laufen. Bis auf NN6 tun sie das auch...

function tick() {
//<snip>paar Variablen für Uralt (<=3) Browser</snip>
var ns4 = (document.layers)? true:false;
var ie4 = (document.all)? true:false;
var v6 = (document.getElementById)? true:false;

var pix = 1;       // Anzahl der Pixel die per Frame bewegt werden
var rate = 30;     // Frames pro Sekunde
var ImgWidth = 1200;   // Breite des ticker-images

var time = 1000/rate;
var again = - ImgWidth

if (ns4){ //script entfernt. läuft OK}

else if (ie4) { //läuft auch OK Script nur zum Vergleich
        newpix = document.all["first"].style.pixelLeft - pix;
        newpix2 = document.all["second"].style.pixelLeft - pix;
        document.all["first"].style.pixelLeft = newpix;
        document.all["second"].style.pixelLeft = newpix2;
        if (document.all["first"].style.pixelLeft <= again) document.all["first"].style.pixelLeft = ImgWidth;
        if (document.all["second"].style.pixelLeft <= again) document.all["second"].style.pixelLeft = ImgWidth;
        }
else if (v6)
//aber der NN 6.2 läßt die Bilder je einmal durchlaufen und dann ist Schluß.
        {
        newpix = (parseInt(document.getElementById("first").style.left)) -pix;
        newpix2 = (parseInt(document.getElementById("second").style.left)) -pix;
        document.getElementById("first").style.left = newpix;
        document.getElementById("second").style.left = newpix2;
        if (parseInt(document.getElementById("first").style.left <= again))
        document.getElementById("first").style.left = ImgWidth;
        if (parseInt(document.getElementById("second").style.left <= again))
        document.getElementById("second").style.left = ImgWidth;
        }
setTimeout('tick()', time);
}

Dabei war ich so stolz, daß ich das vorhandene Script auf v6 umgestrickt hatte... wobei mir Joachim mit http://forum.de.selfhtml.org/archiv/2002/5/11947/#m66274 schon geholfen hat. Weil das Bild so langsam durchläuft, hab ich es erst jetzt gemerkt.... Wer starrt schon minutenlang auf ein Scrollbild ;-)

Hat jemand Lust, sich damit zu befassen? Und mir einen Tipp zu geben?

Grüße aus dem supersonnigen Köln-Ehrenfeld

Elya

  1. if (parseInt(document.getElementById("first").style.left <= again))

    müsste es nicht
      if (parseInt(document.getElementById("first").style.left) <= again)
    lauten (Kammerung)?

    By
    Reinhard

    1. Hi Reinhard!

      müsste es nicht
        if (parseInt(document.getElementById("first").style.left) <= again)

      Das war es! Du bist ein Schatz!

      Grüße und ein wunderschönes Wochenende

      von
      Elya

      1. hi

        ich würde übrigens die Abgrafe für document.getElementById _vor_ die zu document.all setzen, dann landet auch ein anständiger MSIE (Version 5 oder besser) on DOM-Ast. Außerdem reagieren einige Browser leider auf document.all, haben dann aber eigentlich keinen Plan, was damit anzufangen ist.

        Grüße aus Bleckede

        Kai