Ergebnis 1 bis 4 von 4
  1. #1
    HO.S ist offline Jungspund
    registriert
    07-06-2011
    Beiträge
    20

    bestimmte anzahl divs mit listenelementen umschließen

    hallöchen,
    itemarray ist ein array aus datenobjekte via json empfangen.
    pro item wird in einer schleife ein dom element ausgegeben.
    alles funktioniert mit untenstehendem code wunderbar.

    problem:
    es soll nun immer um jeweils 8 items ein umschließendes listenelement gewrappt werden!
    also ich könnte var x=itemarray.length durch 8 teilen bzw. per modulo ermitteln, wie wieviele seiten es werden
    müssen, das bekomme ich noch hin.

    aber wie um himmels willen mach ich das mit den umschließenden listenelementen? soll ich immer gleich eins einfügen
    für i=0, i=8, i=16 etc. und dann die listenelemente als nth-child(0) mit den ersten 8 elementen befüllen usw.?
    oder nachträglich, wenn das DOM fertig ist die children(0)-children(15) auch wieder in einer schleife mit wrap umschließen?
    wie würdet ihr das bauen???

    HELP :-) ich freue mich über ideen!!

    Code:
    for(i=0;i<itemarray.length; i++){
     //mit if(i=14) werden die ersten 14 elemente erfolgreich in ein page-element gewrappt!
    //ABER für die folgenden elemente passt das ja nicht mehr, sonst wird ja wieder alles umwrappt.
    //ich müsste dann noch sagen "umschließe DIE children, die noch nicht von einem li.page umschlossen sind"  aber WIE?      
     if(i===14){
                  $('#contentitems').children().wrapAll('<li class="page"></li>');
              }
              itemarray[i].indexnumber=i;
                  $('#items').append('<div title="'+ itemarray[i].name + '" >'+itemarray[i].name+'</div>');
              }
    }
    Geändert von HO.S (27-09-2011 um 13:10 Uhr)

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.677

    AW: bestimmte anzahl divs mit listenelementen umschließen

    jQuery ist doch kakke... man lernt einfach nicht, wie man sowas gescheit macht: nämlich mit reinem JS - (gut jQuery kann man am Ende auch noch einsetzten, aber die Hauptarbeit macht man ohne jQuery. Netter Nebeneffekt: das Ganze wird auch noch schneller)
    Code:
    var pages = [];
    var pagesI = 0;
    for (var i = 0; i < itemarray.length; i++){
    	if (i % 8 === 0){
    		pagesI = pages.push("") - 1;
    	}
    	pages[pagesI] += '<div title="'+ itemarray[i].name + '" >'+itemarray[i].name+'</div>';
    	itemarray[i].indexnumber=i;
    }
    $('#items').append('<li class="page">' + pages.join('</li><li class="page">'); + '</li>');
    - ungetestet.

  3. #3
    HO.S ist offline Jungspund
    registriert
    07-06-2011
    Beiträge
    20

    AW: bestimmte anzahl divs mit listenelementen umschließen

    hm erstmal vielen dank für die schnelle antwort, ABER ich habe sie nicht wirklich umsetzen können :S
    ich versuche das problem noch mal runterzubrechen auf die array-ebene:

    möchte ein array in teilarrays von je 5 feldern länge splitten
    in pseudo würde man doch formulieren:
    --lauf beim ersten feld (0) los, schneide beim feld 4 ab und speichere das teilarray
    --danach laufe bei 5 los und gehe bis 10 usw. bis zum ende (?)
    am ende habe ich uU ja auch ein array mit weniger als 5 feldern, das letzte nämlich
    Code:
    var x = array.length;
    var i=0;
    for (i; i<x;i++){ //???
            var teilarray_=array.slice(i, i+5); //das teilarray würde ich gern mit _zähler benennen außerdem
            
            i=i+5; //???
    }
    hm, wie muss ich das machen?

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.677

    AW: bestimmte anzahl divs mit listenelementen umschließen

    ??? Was heißt denn da umsetzten? Den Code hättest du doch nur kopieren müssen (was bei mir nicht so häufig vorkommt).?

    Dein Problem mit den Teilarrays verstehe ich nicht. Hast du diesen Code ausprobiert? Was hast du erwartet? Was ist dabei rausgekommen? Was, denkst du, ist falsch? Was meinst du mit "_zähler benennen"?

Ähnliche Themen

  1. anzahl von divs innerhalb eines divs ermitteln
    Von ToM80 im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 14-08-2007, 12:38
  2. Bestimmte Anzahl von Checkboxen auswählen
    Von Stiesel im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 23-04-2007, 23:24
  3. Bestimmte Anzahl von Zeilen in Textarea
    Von lordevil im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 23-05-2006, 10:13
  4. Bestimmte Anzahl von Zeilen in Textarea
    Von lordevil im Forum Script-Check
    Antworten: 1
    Letzter Beitrag: 08-05-2006, 19:33
  5. [MYSQL] Nur bestimmte Anzahl an Zeilen auslesen
    Von ZeitGeist im Forum Serverseitige Programmierung
    Antworten: 24
    Letzter Beitrag: 02-07-2004, 16:10

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •