Ashura: Slideshow mit eigenem Willen?

Ich grüße den geneigten Leser.

Ich habe mit Hilfe von JS eine kleine Slideshow fabriziert.

Alles funktioniert soweit auch ganz gut, jedoch wird man bei bestimmten Bildern (7 - 9) auf Bild 0 zurückgeworfen. Aber ab Bild 10 funktioniert alles ordnungsgemäß. Auch die Bilder 0 - 6 werden ordnungsgemäß angereiht.

Da ich mir nicht sicher bin, ob es zuviel verlangt wäre, einen hier geposteten Code zu analysieren, stelle ich vorerst den Link zur relevanten Datei zur Verfügung: link:http://noctus.net/bilder.htm

Ich habe keine Ahnung, warum scheinbar mutwillig die Bilder 7 - 9 auf Bild 0 zurückverweisen.

Ich hoffe, dass Sie mir helfen können...

Gruß, Ashura

  1. Hallo,

    Da ich mir nicht sicher bin, ob es zuviel verlangt wäre, einen hier geposteten Code zu analysieren, stelle ich vorerst den Link zur relevanten Datei zur Verfügung: http://noctus.net/bilder.htm

    Ich habe keine Ahnung, warum scheinbar mutwillig die Bilder 7 - 9 auf Bild 0 zurückverweisen.

    Das deutet auf Operationen mit (String-)Werten, die fuehrende Nullen besitzen, hin und als Oktalzahlen interpretiert werden.

    Es koennte diese Aenderung in der Scriptdatei shot.js helfen:

    var edge = location.search;
    edge = edge.substr(1,2);

    var img = location.search;
    img = img.substr(3,5);

    umschreiben als:

    var loc = location.search;
    var edge = parseInt(loc.substr(1,2),10);
    var img = parseInt(loc.substr(3,5),10);

    MfG, Thomas

    1. Recht vielen Dank, für die Mühe, die Sie sich gemacht haben.

      Nun funktioniert es tatsächlich!

      Das deutet auf Operationen mit (String-)Werten, die fuehrende Nullen besitzen, hin und als Oktalzahlen interpretiert werden.

      Könnten Sie mir dies unter Umständen etwas verständlicher ausdrücken? Ich möchte gerne verstehen, was der Browser zu erkennen glaubt.

      Es koennte diese Aenderung in der Scriptdatei shot.js helfen:

      var edge = location.search;
      edge = edge.substr(1,2);

      var img = location.search;
      img = img.substr(3,5);

      umschreiben als:

      var loc = location.search;
      var edge = parseInt(loc.substr(1,2),10);
      var img = parseInt(loc.substr(3,5),10);

      Zudem wüsste ich gerne, was diese Funktion denn eigentlich bewirkt.

      Nochmals danke!

      Gruß, Ashura

      1. Hallo,

        Zudem wüsste ich gerne, was diese Funktion denn eigentlich bewirkt.

        parseInt() ermittelt den ganzzahligen Wert zum uebergebenen Argument. Der zweite Parameter steht fuer die Basis des Zahlensystems. Bei parseInt("08") wird "08" als Oktalzahl behandelt, wobei es aber nur die Ziffern 0 bis 7 im Oktalsystem gibt und das Ergebnis somit 0 lautet.

        parseInt("08",10) erzeugt hingegen 8, da hier das Dezimalsystem zugrunde gelegt wird und die fuehrende Null keine Bedeutung hat.

        MfG, Thomas

        1. Vielen Dank für diese Information!

          Nun habe ich endlich eine universell einsetzbare Slideshow.

          Gruß, Ashura