Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: Kapselung Function (JavaScript)

  Alt 28. Jan 2013, 16:33
Dart und zB. CoffeeScript können nach JS compiliert werden. Dart kann wahlweise auch direkt vom Browser unterstützt sein.

Eingerückt dein Code bei mir so aus:
Code:
function PreInit (Control) {
   var Robot = {
      init: function() {
         Robot.div = document.getElementById("robot");
         Robot.frameHeight = 150;
         Robot.frames = 10;
         Robot.offsetY = 0;
         Robot.OffOn = false;

         Robot.animate();
         Robot.stop();
      }, // End Init

      stop: function() {
         Robot.OffOn = true;
      },

      animate: function() {
         Robot.offsetY -= Robot.frameHeight;
         if (Robot.offsetY <= -Robot.frameHeight * Robot.frames) {
            Robot.offsetY = 0;
         } // End Query
         Robot.div.style.backgroundPosition = "0 " + Robot.offsetY + "px";

         if (Robot.OnOff) {
            clearTimeout(Robot.animate);
         } // End Query

         setTimeout(Robot.animate, 75);

      }, // End Animate
      
      left: function() {
      }

      switch (Control)
      {
         case "Init":
            Robot.init ();
            break;

         case "Stop":
            Robot.stop ();
            break;
      }
   };
Es fehlt also die schließende Klammer von PreInit.
Viel merkwürdiger ist aber, dass du da ein switch mitten in der Initialisierung deines Objekts hast.
Ein paar andere Sachen sind auch noch drin ... sagt OnOff == true jetzt, dass der Roboter an ist oder dass er aus ist
Außerdem sieht das mit den Timeouts nicht so aus, als würde es funktionieren.


JavaScript ist definitiv besser als sein Ruf. Man muss sich nur etwas damit beschäftigen.
Auf die Schnelle habe ich folgendes (einigermaßen lesbares) Tutorial gefunden, das dir vielleicht weiterhilft:
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat