2010-09-28 5 views
0

Il existe des séparateurs JavaScript (jQuery) prêts, mais ils requièrent une hauteur de panneaux à définir. Le problème est que mon site ne supporte pas la hauteur fixe, il ne peut tout simplement pas. Autre chose est que ce conteneur peut changer sa hauteur de façon dynamique, donc je voudrais que ce séparateur s'ajuste à la hauteur des panneaux.Séparateur jquery (ou js général) avec hauteur dynamique

Existe-t-il un script ou un moyen d'éviter cela?

Mon idée était de la hauteur du conteneur de la hauteur du plus grand panneau, comme:


var lheight = $("#LeftPanel").height(); 
var rheight = $("#RightPanel").height(); 

if(lheight > rheight){ 
    $("#container").css("height", lheight+"px"); 
} else { 
    $("#container").css("height", rheight+"px"); 
} 

mais cela ne semble être un bon moyen pour moi.

Avez-vous des suggestions?

Répondre

0

Vous pouvez passer une nouvelle valeur -.height(), comme ceci:

var h = Math.max($("#LeftPanel").height(), $("#RightPanel").height()); 
$("#container").height(h); 

Dans ce cas, nous sommes juste en utilisant Math.max() pour obtenir le plus grand un, et réglage de la hauteur à cela.

+0

c'est la même chose que mon code mais écrit plus simple. Est-ce un moyen de le faire mieux? Je veux dire sans ce tour de taille? – Ventus

+1

@Ventus - Si les panneaux étaient des enfants de '# container', il devrait être automatiquement dimensionné ... y a-t-il une raison qui ne fonctionne pas, sans JavaScript du tout? –

+1

En réalité, les panneaux sont des enfants d'un '# conteneur 'et ils changent de taille avec eux. Mais le fait est que '# container' a besoin de la propriété CSS' height' pour être définie, sinon le séparateur ne fonctionne pas. Jusqu'à ce que je trouve un meilleur moyen, je vais utiliser ce '$ (" # content "). Height ($ (" # content "). Height());' c'est plus simple, puisque (comme vous l'avez mentionné) les panneaux sont des enfants de '# container'. – Ventus