Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2012, 12h04   #1
Invité régulier
 
Homme
Développeur Web
Inscription : janvier 2012
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2012
Messages : 8
Points : 5
Points : 5
Par défaut Jquery et columnizer

Bonjour,

J'utilise le plugin jquery Columnizer qui permet d'afficher du texte en colonne.
Je permet d'ajouter via tinyMCE plusieurs blocs qui peuvent ensuite être affichés en colonne en cliquant sur un bouton (id="applyColStyle").
Chaque DIV avec la classe "mainColumn" sera affiché en colonne.
Une fois en colonne, les enfant reçoivent la classe "column".

Voilà mon problème :

Je voudrai qu'il ne soit possible d'appliquer le style en colonnes qu'une seule fois (sinon, ça rajoute à chaque fois des enfants avec classe "column").
Le script ci-dessous fonctionne, sauf que si j'ajoute de nouveaux blocs alors que l'un à déjà le style en colonnes, il n'est pas possible de leur appliquer le style.

Je suis plus utilisateur que développeur javascript. Je vous remercie à l'avance des solutions que vous pourrez m'apporter.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$(document).ready(function() {
  $('#applyColStyle').click(function(){
    if ($('div.mainColumn > div.column').length > 0){
        return true;
    }
 
    else{
    $('.mainColumn').columnize({
      columns : 3,
      accuracy : 1,
      buildOnce : true,
      lastNeverTallest: true
    });
    }
  });
});
fab4001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 15h31   #2
Invité régulier
 
Homme
Développeur Web
Inscription : janvier 2012
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2012
Messages : 8
Points : 5
Points : 5
Ok, j'ai trouvé la solution :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
$(document).ready(function() {
  $('#applyColStyle').click(function(){
    $('.mainColumn').each(function(){
      if ($(this).children().hasClass('column')){
          return true;
      }
 
      else{
      $('h1').addClass('dontend');
      $(this).columnize({
        columns : 3,
        accuracy : 1,
        buildOnce : true,
        lastNeverTallest: true
      });
      }
    });
 
  });
});
J'imagine que ça peut être simplifié, mais ça marche
fab4001 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h40.


 
 
 
 
Partenaires

Hébergement Web