Juin
09
jQuery 1.3.2 visibility
Pour une fois, je fais un petit post très technique qui pourra être utile à ceux qui vont bientôt se pencher sur la migration de leur code pour supporter la dernière mouture du célèbre framework jQuery, à savoir la 1.3.2 qui est incluse de base dans WordPress 2.8.
Après quelques arrachages de cheveux, je suis enfin parvenu à trouver un workaround qui fonctionne pas trop mal. Pour savoir si un élément est visible ou pas, ne faites plus de tests sur is(:hidden) mais sur l’attribut height. Lorsqu’un élément est en visibility hidden, il a une height de 0 sous FF et IE. Sur IE 6, il y a un petit bug apparemment qui fait que lors de l’initialisation, il a une height de 1 mais ensuite après une série de changements de hidden à visible à hidden, il repasse correctement à 0. Donc si vous voulez savoir si un élément est hidden, testez si l’attribut height est inférieur à 2 :
if (jQuery(« #toto »).height() < 2)
{
// hidden
}
else
{
// visible
}