Maik Wenner: DIV Elemente horizontal Scrollen

Hallo Leute,

ich will mehrere DIV Elemente auf horizontaler Ebene Scrollen, dazu hole ich mir diese per DOM von einem Elternknoten, und verändere dann nacheinander die Style Angabe left von den Elementen immer im -1.

Das funktioniert auch einwandfrei. Ich wollte nur wissen ob es evtl. noch andere bzw. bessere Methoden gibt wie man das lösen könnte. Momentan ist es nämlich so, das selten aber abundzu eben die Frames kurz einbrechen. Schöner wäre es wenn die DIV Elemente immer konstant in einer Geschwindigkeit bewegen.

Vielen Dank für die Aufmerksamkeit!

Gruß, Maik.

  1. Hi!

    Zeig  doch mal etwas von Deinem Code bitte!

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Hi.

      Zeig  doch mal etwas von Deinem Code bitte!

      ================

      var thumbnode = document.getElementById("scrollcontent");
      var scrollsize = thumbnode.style.width;
      var scrollspeed = 20;
      var spacing = 20;
      var thumbs = Array();
      var thumbpos = Array();
      var scr = null;

      function pxtoint(px) {
        return parseInt(px.substring(px,(px.length-2)));
      }

      function inttopx(px) {
        return String(px+"px");
      }

      function init() {
        var temp = Array();
        temp = thumbnode.getElementsByTagName("div");
        for (i=0;i<temp.length;i++) {
          thumbs[i] = temp[i];
          thumbpos[i] = 0;
        }
      }

      function genmovement(x) {
        //Maximal nur 4 Bilder berechnen
        for (i=0;i<=4;i++) {
          thumbpos[i] = inttopx((i*(pxtoint(thumbs[i].style.width)))-x);
        }
        for (i=0;i<=4;i++) {
          thumbs[i].style.left = thumbpos[i];
        }
      }

      function move(x,sp) {
        if (x > (pxtoint(thumbs[0].style.width)) ) {
          thumbs.push(thumbs[0]);
          thumbs.shift();
          x = 0;
        }
        genmovement(x);
        x++;
        scr=setTimeout("move("+x+","+sp+")",scrollspeed);
      }

      init();
      move(0,scrollspeed);

      ================

      Das ganze steht in einer JavaScript Datei, welche am Ende des HTML Dokumentes eingebunden wird.

      Gruß, Maik