/ / determinare quando sifr è fatto? - sifr

determinare quando sifr è fatto? - sifr

Come posso determinare che sifr è finito in esecuzione? Ho bisogno di conoscere l'altezza di un elemento in cui è presente il sifr testo sul caricamento della pagina, ma quando controllo l'altezza, sifr non è ancora completato e ottengo un valore errato (l'altezza dell'elemento prima dell'applicazione di sifr). E voglio assolutamente evitare di dover inserire un ritardo arbitrario nel trovare l'altezza. Eventuali suggerimenti?

risposte:

1 per risposta № 1

Potresti usare il onReplacement callback, che viene richiamato ogni volta che viene sostituito un elemento. È specificato come argomento a sIFR.replace(), più qui: http://wiki.novemberborn.net/sifr3/JavaScript+Methods.

Da lì in poi useresti il FlashInteractor oggetto, che viene passato come primo argomento, per arrivare all'elemento sostituito.

Si noti però che quando la pagina si ridimensiona, il testo potrebbe avvolgere, cambiando l'altezza del filmato Flash. Non ci sono richiami per questo.


0 per risposta № 2

Ho trascorso un sacco di tempo su questo e finalmente ho trovato una soluzione jQuery cross-browser. Spero che questo aiuti un sacco di persone in situazioni simili:

<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>