1unitedpower: jQuery addClass - neue Elementabmessungen

Beitrag lesen

Gar nicht. Und das behaupte ich solange, bis du mir den empirischen Gegenbeweis lieferst ;)

Nun hör' aber auf ...! :-P Soll ich dir einen Screenshot von meiner Konsole posten?

Wenn darin der fragwürdige Quelltext zu sehen ist, dann ja. Noch besser wäre es allerdings, du würdest uns den Quelltext in Textform und nicht als Screenshot präsentieren.

Ich habe schon fast alles andere rausgeschmissen und und und ..., aber wenn ich genau den Code in meiner Document Ready Funktion ausführe, kommt grundsätzlich (allso immer, in jedem Fall, zu 100%) derselbe (noch nicht korrekte) Wert dabei raus.

Dann dürftest du die Fehler ja nun ziemlich weit eingegrenzt haben. Gehe weiter so vor und irgendwann findest du den Fehler mit Sicherheit, hier sind mehrere Beteiligte im Thread unterwegs, die dir bei der Fehlersuche behilflich sein würden, so ginge es also noch schneller.

Verwende ich hingegen eine setTimeout Funktion (separat), kommt auf Anhieb der korrekte Wert raus.

Ja, das deutet nur ein weiteres mal darauf hin, dass der Fehler nicht in dem Run-To-Completion Codeblock stattfindet, den du uns hier gezeigt hast. Folglich muss der Fehler in einem anderen Run-To-Completion-Codeblock stecken, also einer Codeeinheit die später asynchron ausgeführt wird. Scanne deinen Code systematisch auf Event-Handler und asynchrone Callback-Funktionen.

Soweit/ sofern ich euch bisher richtig verstanden habe (und das entspricht auch meiner bisherigen Annahme) dürfte das aber gar nicht passieren. Denn der Browser blockt die weitere Ausführung des Skripts bis der Reflow abgeschlossen ist, und dann müsste das Skript ja genau an der Stelle fortgesetzt werden.

So ist es. Atomar ist das schöne Fachwort dafür, das mir die ganze Zeit über nicht einfallen wollte (Danke Camping_RIDER).

Scheinbar "funkt" aber etwas dazwischen. Ich weiß aber langsam echt nicht mehr, was das noch sein sollte/ könnte!?

Halte Ausschau nach Event-Handlern und asyncrhonen Callbacks. setTimeout(), setInterval(), die jQuery Event-Handler .ready(), .click(), .on(), AJAX-Anfragen usw. Dann analysiere die Callback Funktionen auf Operationen, die einen Reflow auslösen, also insbesondere DOM-Manipulationen. Achte besonders auf HTML-Klassen oder CSS-Attribute, die verändert werden, aber auch andere HTML-Attribute die verändert werden oder Elemente, die hinzukommen oder entfernt werden können eine Reflow auslösen.

0 48

jQuery addClass - neue Elementabmessungen

netsurfer
  • css
  • javascript
  • jquery
  1. 0
    Camping_RIDER
    1. 1
      1unitedpower
      1. 0
        netsurfer
        1. 0
          1unitedpower
          1. 0
            netsurfer
            1. 0
              Matthias Apsel
              1. 0
                Gunnar Bittersmann
            2. 0
              Gunnar Bittersmann
              1. 0
                netsurfer
                1. 1
                  Gunnar Bittersmann
                  1. 0
                    netsurfer
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        Gunnar Bittersmann
                      2. 0
                        netsurfer
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            netsurfer
                          2. 0
                            Gunnar Bittersmann
                            1. 0
                              netsurfer
                            2. 0
                              Gunnar Bittersmann
                              1. 0
                                netsurfer
                                1. 0
                                  Gunnar Bittersmann
                                  1. 0
                                    netsurfer
                                    1. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        netsurfer
                                        1. 0
                                          Gunnar Bittersmann
            3. 0
              1unitedpower
              1. 0
                netsurfer
                1. 0
                  1unitedpower
                  1. 0
                    netsurfer
                    1. 1
                      Camping_RIDER
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          Camping_RIDER
                          1. 0
                            Gunnar Bittersmann
                            1. 0
                              Camping_RIDER
                              1. 0
                                netsurfer
          2. 0
            netsurfer
            1. 0
              Camping_RIDER
              1. 0
                netsurfer
                1. 0
                  1unitedpower
                2. 0
                  unknown
                  1. 0
                    unknown
                    1. 0
                      netsurfer
  2. 0
    Mitleser
  3. 0

    Fiddle jQuery addClass - neue Elementabmessungen

    netsurfer
  4. 0

    [Erledigt] jQuery addClass - neue Elementabmessungen

    netsurfer
    1. 0
      Camping_RIDER
    2. 0
      unknown