Benutzerdefinierte Suche

dynamisch programmieren (JS)

  1. ThaHammer

    ThaHammer Thread StarterMacUser Mitglied

    Mitglied seit:
    01.06.2004
    Beiträge:
    3.277
    Zustimmungen:
    13
    Ich wollte mal anfange, etwas mehr mit Javascript zu machen und stolpere gleich am Anfang über was einfaches. So dachte ich jedenfalls!

    Code:
      //var i = document.all.mymenu.style.getAttribute("width","false");
      var i = document.getElementById("submenu1").style.visibility;
    
    Eigentlich wollte ich nur das css Attribute von meinem Menu abfragen, so kommt anber immer document.all has no propertys!
    Das zweite per getElementByID scheint zwar zu gehen liefert aber nichts zurück. Wo ist mein Fehler?
     
    ThaHammer, 07.04.2007
  2. Darii

    DariiMacUser Mitglied

    Mitglied seit:
    24.02.2004
    Beiträge:
    2.065
    Zustimmungen:
    110
    Das erste funktioniert natürlich nicht, da document.all eigentlich gar nicht existiert, das das wurde nur von M$ irgendwann mal im Zeitalter des großen Browserkrieges eingeführt. Also streich es am besten gleich aus deinem Gedächtnis.
    Wenn das 2. nichts zurückgibt, ist die Eigenschaft nicht gesetzt, der Defaultwert wird in diesem Fall wohl "visible" sein.
     
    Darii, 07.04.2007
  3. ThaHammer

    ThaHammer Thread StarterMacUser Mitglied

    Mitglied seit:
    01.06.2004
    Beiträge:
    3.277
    Zustimmungen:
    13
    Ok, das erste wußte ich leider schon gar nicht! Danke!
    Jetzt gehts doch! Danke Dir. Habe den Aufruf woanders hingepackt, jetzt gehts.
     
    ThaHammer, 07.04.2007
  4. koli.bri

    koli.bri

    Wird die CSS-Datei auch VOR dem JavaScript geladen?
    Auf solche Sachen, und bei mehreren JS-Dateien, die auf die selben Variablen zugreifen, muss man aufpassen, da bin ich schon so oft drauf reingefallen :D
    Und ich werde noch oft drauf reinfallen.
     
    koli.bri, 07.04.2007
  5. ThaHammer

    ThaHammer Thread StarterMacUser Mitglied

    Mitglied seit:
    01.06.2004
    Beiträge:
    3.277
    Zustimmungen:
    13
    OK, JS war vor der css Datei dran. Jetzt will ich aber die Breite abfragen, als Beispiel mal. Weil am Ende will ich ja das Submenu ausklappen lassen, also so einen netten Effekt zaubern. Vom Grundprinzip ist da ja eigentlich nicht so wild. Schleife, Breite aktualisieren, evtl. Fontsize in % damit der Text größer wird je breiter. Gut, so weit hört sich das einfach an. Nur will ich jetzt die Breite eben abfragen und bekomme wieder nichts zurück. Breite ist aber auf 150px gesetzt! :confused:
     
    ThaHammer, 07.04.2007
  6. ThaHammer

    ThaHammer Thread StarterMacUser Mitglied

    Mitglied seit:
    01.06.2004
    Beiträge:
    3.277
    Zustimmungen:
    13
    So, ich habe meinen Fehler gefunden! Wobei ich nicht draufkomme, warum das jetzt falsch ist? Kann mir da mal jemand helfen?

    Code:
         for(i=0;i<=150;i++) {
    		i = i + "px";
    	}
        alert(typeof i);
    
    Das dient jetzt nur dazu meinen Fehler zu finden! Also ich durchlaufe die Schleife mit i, und setze es für die Style Anweisung mit dem Text "px" zusammen um den Wert später ins Dokument für ein Div zu schreiben.
    Soweit die Theorie! In der Praxis funktioniert es so leider mal wieder nicht!
    Mein Alert mit dem Typ der Variable i gibt number zurück, ich brauche aber String. Sollte i nicht zum String werden, wenn ich die Zahl mit Text kombiniere?
     
    ThaHammer, 08.04.2007
  7. Darii

    DariiMacUser Mitglied

    Mitglied seit:
    24.02.2004
    Beiträge:
    2.065
    Zustimmungen:
    110
    was wars denn?

    Theoretisch schon. Aber i ist deine Iterationsvariable. Mit i++ wird die natürlich wieder zum Integer. Dass die Schleife dann keine 150 Mal durchläuft ist da nur das Randproblem. Versuchs mal so:
    Code:
         for(i=0;i<=150;i++) {
    		blub = i + "px";
    	}
        alert(typeof blub);
     
    Darii, 08.04.2007
  8. ThaHammer

    ThaHammer Thread StarterMacUser Mitglied

    Mitglied seit:
    01.06.2004
    Beiträge:
    3.277
    Zustimmungen:
    13
    Ich bin mir wegen dem Fehler nicht ganz sicher, war wohl ein Tippfehler beim zusammenbasteln der Funktion.

    Ok, ich glaube ich habs kapiert was Du meinst? Ich wandele ständig i von Zahl nach String und zurück! Doofe Idee, mit einer zweiten Variable ist das einfach und geht auch. Jetzt kriege ich String zurück! Danke Dir.

    Aber das hier funktioniert noch nicht so recht!

    Code:
      document.getElementById("submenu1").style.width = blub;
    
    Wie kann ich das Verzögern? Bin auf folgendes gestoßen, allerdings habe ich noch Probleme damit!

    Code:
      window.setTimeout('dynamic()','5000')
    
    Habe nochmals nachgelesen, scheint als wäre setTimeout der falsche weg? :confused:
    Gibt es irgendwo eine Einsteigerseite für solche Sachen?
     
    ThaHammer, 08.04.2007
  9. Darii

    DariiMacUser Mitglied

    Mitglied seit:
    24.02.2004
    Beiträge:
    2.065
    Zustimmungen:
    110
    Darii, 08.04.2007
  10. ThaHammer

    ThaHammer Thread StarterMacUser Mitglied

    Mitglied seit:
    01.06.2004
    Beiträge:
    3.277
    Zustimmungen:
    13
    Na, ja ich dachte das wäre nicht ganz so kompliziert? :(
     
    ThaHammer, 08.04.2007
Die Seite wird geladen...
Ähnliche Themen - dynamisch programmieren (JS)
  1. Macmini2
    Antworten:
    3
    Aufrufe:
    1.059
    Macmini2
    03.05.2013
  2. knastmoench
    Antworten:
    12
    Aufrufe:
    2.542
    knastmoench
    05.01.2013
  3. maceis
    Antworten:
    0
    Aufrufe:
    594
  4. leo-magic
    Antworten:
    27
    Aufrufe:
    2.537
    leo-magic
    08.10.2011
  5. Mr AppleBob
    Antworten:
    5
    Aufrufe:
    764