/ / déterminer quand sifr est fait? - sifr

déterminer quand sifr est fait? - sifr

Comment puis-je déterminer que sifr est terminé? J'ai besoin de connaître la hauteur d'un élément où il y a du texte sifr lors du chargement de la page, mais lorsque je vérifie la hauteur, sifr n'est pas encore terminé et j'obtiens une valeur incorrecte (la hauteur de l'élément avant l'application de sifr). Et je veux absolument éviter de mettre un délai arbitraire dans la recherche de la hauteur. Aucune suggestion?

Réponses:

1 pour la réponse № 1

Vous pouvez utiliser le onReplacement callback, qui est invoqué chaque fois qu'un élément est remplacé. Il est spécifié comme argument pour sIFR.replace(), plus ici: http://wiki.novemberborn.net/sifr3/JavaScript+Methods.

A partir de là, vous utiliserez le FlashInteractor objet, qui est passé en tant que premier argument, pour accéder à l'élément remplacé.

Notez cependant que lorsque la page est redimensionnée, le texte pourrait être renvoyé à la ligne, ce qui modifierait la hauteur de l'animation Flash. Il n'y a pas de rappel pour cela.


0 pour la réponse № 2

J'ai passé une tonne de temps là-dessus et j'ai finalement mis au point une solution multi-navigateur jQuery. J'espère que cela aidera un groupe de personnes dans des situations similaires:

<script src="/path_to_jquery/jquery.js" type="text/javascript" language="javascript1.2"></script>
<script language="javascript">
function setEqualHeight(columns)
{
var tallestcolumn = 0;
columns.each(
function()
{
currentHeight = $(this).height();
if(currentHeight > tallestcolumn)
{
tallestcolumn = currentHeight;
}
}
);
columns.height(tallestcolumn);
}

$(window).load(function(){
var dlay = setInterval(function(){
if(jQuery(".sIFR-replaced").length>=sIFR.replacements.length){
setEqualHeight($(".jqueryheight"));
clearInterval(dlay);
};
},100);
});
</script>