Ankündigung

Einklappen
Keine Ankündigung bisher.

Javascript läuft mit gültigen DOCTYPE nicht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript läuft mit gültigen DOCTYPE nicht

    Hi,

    für eine Aquariumseite soll im Hintergrund dezent Luftblasen aufsteigen.
    Damit ich das Rad nicht 2mal bauen muß, hab ich die Suchmaschinen bemüht und auch ein brauchbares Script gefunden.

    Baue ich das nun in ein CMS System klappt nix mehr.

    Mitunter habe ich dann den Verursache gefunden:
    der DOCTYPE.

    Hier die Seite, die das JS Script zeigt.... am Ende der Seite dann der Hinweis mit den DOCTYPE.

    http://www.agadoo.de/pages/html/javascript-blasen.htm

    Jetzt hab ich mich schon ein bissel in die Thematik DOCTYPE eingelesen... komme aber der Ursache nicht auf den Grund.
    Sprich: Wieso verhindert ein valider DOCTYPE die ausführen von den JS-Script ?

    Bzw. was müsste denn geändert werden, sodass:
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    einsetzbar ist ?

  • #2
    Die eigentliche Frage lautet: Warum nutzt du keinen HTML5 Doctype?
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Spielball zurück: Weil ich es aus der Website so rauskopiert hatte

      ABER:.. bevor ich hier gepostet hatte, habe ich schon alle DOCTYPE's durchversucht. Auch
      Code:
      <!DOCTYPE html>
      leider geht auch dieser nicht damit.

      Kommentar


      • #4
        Habs mir mal angeschaut, liegt daran, dass das Script invalides CSS generiert (aka: top- und left-angaben ohne Maßeinheit, also "15" anstatt "15px").

        Ohne Doctype scheinen die Browser darüber hinwegzusehen.
        [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

        Kommentar


        • #5
          nope. das habe ich grad korrigiert = keine besserung.

          Ich bin jetzt sogar ein schritt weiter gegangen und habe ns4up komplett rausgenommen. Also beginnend oben mit var bis zur Entfernung aus den Schleifen... bzw. ganzer Schleifen, wenn alleinstehend.

          Keine Besserung.

          Kommentar


          • #6
            Zitat von daniel_1998 Beitrag anzeigen
            nope. das habe ich grad korrigiert = keine besserung.
            Habe das grade korrigiert, läuft bei mir einwandfrei.
            [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

            Kommentar


            • #7
              hää.. ne. oda (?)

              hab jetzt nochmal das originale Script zur Sicherheit genommen.
              oben den DOCTYPE rein und im JS dann die CSS wie von dir aufgezeigt erweitert.

              Also:
              Code:
              document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\""+ snow[j] + "\" border=\"0\"></layer>");
              } else {
              document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\""+ snow[j] + "\" border=\"0\"></layer>");
              auf
              Code:
              document.write("<layer name=\"dot"+ i +"\" left=\"15px\" top=\"15px\" visibility=\"show\"><img src=\""+ snow[j] + "\" border=\"0\"></layer>");
                              } else {
              document.write("<layer name=\"dot"+ i +"\" left=\"15px\" top=\"15px\" visibility=\"show\"><img src=\""+ snow[j] + "\" border=\"0\"></layer>");

              Das scheint nicht zu klappen.
              Ich vermute, dass du noch mehr geändert haben mußt (?)

              Wie hast du dieses Fehlverhalten denn rausbekommen ? Firebug bemägelt hier nichts.

              Kommentar


              • #8
                Ich habs schon da geändert, wo die position alle X millisekunden neu gesetzt wird...
                [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

                Kommentar


                • #9
                  also gleich schiel ich in den Code.

                  ICh hab zar tatsächlich noch einen weiteren CSS fehler entdeckt...
                  Code:
                  style=\"POSITION: absolute; Z-INDEX: "+ i +"VISIBILITY: visible;
                  fehlendes ; bei Z-Index. Wird sonst komplett ignoriert.
                  Code:
                  style=\"POSITION: absolute; Z-INDEX: "+ i +";VISIBILITY: visible;
                  Aber deine beschriebende Position find ich nicht.
                  Wenn ich JS nicht lesen und interpetieren kann (anfänger) würd ich es hier vermuten:
                  Code:
                                  if (ie4up){
                                  document.all["dot"+i].style.pixelTop = yp[i]+document.body.scrollTop;
                                  document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
                                  }
                                  else if (ns6up){
                                  document.getElementById("dot"+i).style.top=yp[i]+pageYOffset;
                                  document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i]);
                                  }
                  Aber das was ich da versucht hab, scheint nicht die Lösung zu sein.
                  Erbarst du dich und gibst mir einen weiteren Tipp ?

                  Kommentar


                  • #10
                    Wo du es vermutest ist schon richtig. Die Berechnung ist auch richtig. Musst nur noch ein "px" hintendran hängen.
                    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

                    Kommentar


                    • #11
                      JAAAAAAAAAaaaaaa.... es funzt !!!
                      Hab Dank !!!!

                      Kommentar


                      • #12
                        Eine Frage noch... wenn ich darf (?)

                        Das Script ist ganz gut... nur nervig mit den Scrollbalken. Die springen hin und her, weil die Blasen den Bildschirmbereich ab und zu verlassen.
                        Bei der Demo Seite ganz gut erkennbar, wenn man ganz nach unten scrollt = rechter Balken springt hin und her...
                        und wenn man das Fenster etwas verkleinert, dann auch der unterer.

                        Nun hab ich JS versucht schon ein ein DIV zu speeren...
                        Code:
                        <div style="border: 1px solid; width: 500px; height: 500px;">
                        wird aber komplett ignoriert. (Wäre für mich die einfachste Lösung gewesen)

                        Also wieder in JS:
                        Code:
                        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +";VISIBILITY: 
                        visible; TOP: 15px; LEFT: 15px; width:1px;\"><img src=\"" + snow[j] + "\" border=\"0\"></div>");
                        Dort hab ich um den Bottom-style erweitert.
                        Code:
                        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +";VISIBILITY: 
                        visible; TOP: 15px; LEFT: 15px; BOTTOM: 150px; width:1px;\"><img src=\"" + snow[j] + "\" border=\"0\"></div>");
                        Keine Besserung.
                        und dann noch die frage, was denn doc_height + doc_width bewirken soll. Offensichtlich kann ich hier eintragen/ändern was ich will... greifen tut eh nix.
                        Code:
                        var i, doc_width = 800, doc_height = 1800;
                        Hab nochmals Dank

                        Kommentar

                        Lädt...
                        X