2009-04-22 8 views
1

Comment puis-je déterminer que sifr a terminé son exécution? J'ai besoin de connaître la hauteur d'un élément où il y a du texte sifr sur le chargement de la page, mais quand je vérifie la hauteur, sifr n'est pas encore terminé et j'ai une valeur incorrecte (la hauteur de l'élément avant sifr). Et je veux absolument éviter d'avoir à retarder arbitrairement la recherche de la hauteur. Aucune suggestion?déterminer quand sifr est fait?

Répondre

1

Vous pouvez utiliser le rappel onReplacement, qui est appelé chaque fois qu'un élément est remplacé. Il est spécifié comme un argument à sIFR.replace(), plus ici: http://wiki.novemberborn.net/sifr3/JavaScript+Methods. A partir de là, vous utiliserez l'objet FlashInteractor, qui est passé en premier argument, pour accéder à l'élément remplacé.

Notez cependant que lorsque la page est redimensionnée, le texte peut envelopper, en modifiant la hauteur de l'animation Flash. Il n'y a pas de rappel pour cela.

0

J'ai passé une tonne de temps à ce sujet et finalement est venu avec une solution jQuery multi-navigateur. J'espère que cela aide un tas 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> 
Questions connexes