kostenloser Webspace werbefrei: lima-city


For-Schleife, Fehler mit Array aus Elementen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    buoance

    buoance hat kostenlosen Webspace.

    Hallo liebe Community,

    ich habe heute ein kleines JavaScript-Rätsel für euch.
    Das hier ist der Link zum Fiddle: Link

    Es geht darum, dass man die Elemente der Liste anklicken kann, sodass sie markiert sind, und die Klasse 'active' haben. Die können dann per Drag and Drop in die Divs darunter (oder daneben je nachdem wie groß euer Screen ist), gesetzt werden. Das funktioniert alles, was nicht funktioniert ist etwas anderes.

    Wenn jetzt ein paar von diesen li markiert sind und ich daneben klicke, sollten sie entmarkiert werden, das habe ich eig. auch schon geschafft, nur ergibt sich dabei ein komisches Verhalten. Wenn vier markiert sind bleiben zwei übrig wenn drei markiert sind immer das in der Mitte und bei zwei das untere. Das Problem muss irgendwo in der Schleife liegen und beim Array mit den markierten Elementen.

    Ich hoffe ich habe das Fiddle gut genug kommentiert, sollte es Fragen geben, bitte fragt sie. Ich bin für jede Hilfe dankbar.

    LG Dominic
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Die Lösung ist einfach:
    document.onclick = function() {
    	if(!mouse_is_inside) {
    		activeItems = document.getElementsByClassName('listitem active');
    		while(activeItems.length > 0)
    			activeItems[0].className = 'listitem';
    	}
    };
  4. Autor dieses Themas

    buoance

    buoance hat kostenlosen Webspace.

    Wow, also erstmal danke für die Lösung, das funktioniert wirklich einwandfrei und daran hätte ich auch nie gedacht. :biggrin:

    Hast du vllt. auch ne Ahnung, warum das mit einer for-Schleife nicht funktioniert?

    LG Dominic
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    buoance schrieb:
    Hast du vllt. auch ne Ahnung, warum das mit einer for-Schleife nicht funktioniert?
    Dein Array ändert sich, sobald du die Elemente im DOM änderst. Da das Element aus dem Array verschwindet wenn du die CSS-Klasse änderst wird das Array auch immer kürzer und die Elemente verrutschen, deshalb funktioniert deine for-Schleife auch nicht so wie du dir das vorstellst.
  6. Autor dieses Themas

    buoance

    buoance hat kostenlosen Webspace.

    Ah ja, das klingt logisch.

    Danke für die schnelle Antwort und bis zur nächsten Frage.

    -closed-
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!