2010-07-13 4 views
4

J'ai un blog avec beaucoup de div.content s, dont je voudrais avoir une hauteur multiple de 22px (donc tout le texte s'aligne avec une image de fond d'une grille). J'imagine que vous feriez probablement quelque chose comme:Javascript/jQuery - Utiliser le module pour assurer la hauteur de div est un multiple de x

// loop for each div.content 
    // var height = $('div.content').height() 
    // var modulus = height%22 
    // var padding = 22 - modulus 
    // $('div.content').css({'padding-left': 'PADDINGpx'}) 

Est-ce que ça sonne à peu près exact? Je ne suis pas super avec JS. Comment obtenez-vous la variable de remplissage dans la fonction jquery?

Merci d'avance!

Répondre

4

Ça me va bien. Vous devez utiliser la concaténation de chaîne pour rejoindre la variable avec la chaîne:

$('div.content').css({'padding-left': padding+'px'}); 

Un point à faire est que si le div est un multiple de 22, vous serez toujours ajouter 22px à elle. Si ce n'est pas désiré, utilisez une instruction if ajouter conditionnellement le rembourrage:

// loop for each div.content 
var height = $('div.content').height(); 
var modulus = height%22; 
var padding = 22 - modulus; 

if (modulus) 
    $('div.content').css({'padding-left': padding+ 'px'}); 

ps, ​​ne pas oublier votre semicolon line terminators.

+0

Ace, ça marche parfaitement. Merci! – Rik

0

essayer

$('div.content').css({'padding-left': **padding+'px'**}) 
0

Vous feriez tout simplement faire ce qui suit pour obtenir le rembourrage dans

var_padding = 22 - modulus; 
$('div.content').css({'padding-left': var_padding}) 
0

Je pense en lui donnant un line-height:22px devrait faire l'affaire automatiquement ..

(peut-être que je comprends quelque chose de mal, cependant ..)

+0

S'il y a une image ou une vidéo dans une publication, toutes les hauteurs de lignes joliment mises en place sont éliminées. – Rik

+0

@rik, en effet. Je n'ai pas pris en compte d'autres éléments qui affectent le dimensionnement. Scrap ma réponse :) –

Questions connexes