CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Script qui regroupe par paquets

axrevi
axrevi
Niveau 10
27 janvier 2012 à 04:31:27

Salut de nouveau :noel:

C'est vrai que j'aurais pu rechercher avant, mais ce que je veux est apparemment trop précis ou en tout cas il y a forcément une raison pour laquelle je ne trouve aucune réponse.

Voilà le truc. J'ai une liste d'éléments <p> ordonnés (ordre alphabétique). Je veux regrouper les éléments <p> par paquets de 6 et les envelopper d'une balise <div> tout en spécifiant une classe à cette dernière. J'aurais donc une ou plusieurs <div> contenant chacune 6 éléments <p> chacune (sauf la dernière, qui regrouperait les derniers <p> (moins de 6 évidemment) qui restent). Enfin vous voyez quoi :noel:
Le but étant de pouvoir ajouter des éléments à la liste à n'importe quelle place, et que ça se réorganise tout seul de façon à retrouver un passage à une nouvelle <div> tous les 6 éléments.

Alors pour envelopper ça sera donc wrap('<div class="x"></div>') j'imagine, en revanche je manque d'imagination pour faire ces fameux paquets de 6.
Comment faire via javascript une commande qui dise "crée autant de paquets de 6 que tu ne peux et applique la fonction wrap pour chacun d'entre eux" ?

Merci :noel:

axrevi
axrevi
Niveau 10
27 janvier 2012 à 06:18:14

Remarque j'me fais p'tet chier pour rien.

Il n'y a pas une propriété css pour que lorsque le contenu d'une balise dépasse en bas, que la suite se fasse dans une nouvelle colonne à droite ? En fait c'est un cadre à défilement horizontal. Une image vaut mieux qu'un discours.

http://s4.noelshack.com/uploads/images/2020249564839_onche.jpg (certains reconnaîtront un bon vieux projet :noel: )

deepblue
deepblue
Niveau 16
27 janvier 2012 à 10:59:08

http://wall.deblan.fr/x2044/html/1/

axrevi
axrevi
Niveau 10
27 janvier 2012 à 17:47:31

Waouh merci !

Mon but c'est d'apprendre, et il y a quelques trucs que je n'ai pas tout à fait compris.

"var div = $('<div>').addClass('foo')" :d) crée la variable "div" qui mène vers l'élément <div class="foo"> qui est donc créé mais pas encore placé, c'est ça ?

Pour le

for(x=0; x<6; x++) {
div.append(ps[index_p++]);
}
$('#all').append(div);

:d) Est-il nécessaire de mettre un index à "ps" et de considérer comme un tableau ? Ne va-t-il pas les ajouter dans l'ordre qu'ils ont déjà dans la structure html ?

Et finalement

while(index_p != ps.length) {
$('#all').append(ps[index_p++]);
}

:d) Ce n'est pas mieux de mettre "index_p <= ps.length" ? :noel:

Voili voilou c'est tout. Et un grand merci pour m'avoir fait découvrir cet excellent objet Math :noel:

axrevi
axrevi
Niveau 10
27 janvier 2012 à 18:48:15

Ah ! toute petite correction : je voulais que les derniers <p> restants soient aussi compris dans une dernière <div> de même classe.

Il faut donc rajouter

var div2 = $("<div>").addClass("plaque");
$(".bloc").append(div2);

entre la boucle for et la boucle while :noel:
et changer la boucle while en

while (index < morceaux.length) {
div2.append(morceaux[index++]);
}

Voilà :hap:

deepblue
deepblue
Niveau 16
27 janvier 2012 à 23:29:44

1- oui :ok:
2- j'ai pas compris mais je pense que non
3- non :-)

axrevi
axrevi
Niveau 10
28 janvier 2012 à 03:51:29

Non en fait pour la 2e question je n'avais pas réalisé tout de suite que le rôle de la variable "index_p" était uniquement d'indiquer le nombre de <p> créés. Moi j'avais cru au début que cette variable était nécessaire à ce que les éléments <p> soient ajoutés dans le bon ordre :noel:

Merci pour tout en tout cas :noel:

deepblue
deepblue
Niveau 16
28 janvier 2012 à 15:53:39

Oublis de ma part (j'ai fais mes raccourcis zenconding parfois un peu trop vite). L'effet que ça a est que x et u appartiennent à window.

axrevi
axrevi
Niveau 10
28 janvier 2012 à 16:40:06

Je n'ai pas mis var et ça marche très bien, ça fait quoi si la variable appartient à window ?

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware