2009-04-22 9 views
1

sifrの実行が終了したと判断するにはどうすればよいですか?私はページの読み込み時にsifrテキストがある場所の高さを知る必要がありますが、高さを確認するとsifrはまだ完了せず、正しくない値(sifrが適用される前の要素の高さ)が得られます。そして、私は間違いなく、高さを見つけるのに任意の遅れを取らなければならないことを避けたい。助言がありますか?sifrがいつ完了するかを決定しますか?

答えて

1

onReplacementコールバックを使用できます。これは、要素が置き換えられるたびに呼び出されます。 sIFR.replace()の引数として指定されています。詳細はhttp://wiki.novemberborn.net/sifr3/JavaScript+Methodsです。

そこから最初の引数として渡されたFlashInteractorオブジェクトを使用して、置き換えられた要素を取得します。

ただし、ページのサイズが変更されるとテキストが折り返され、Flashムービーの高さが変更されることに注意してください。このためのコールバックはありません。

0

私はこれに時間を費やし、最終的にクロスブラウザのjQueryソリューションを思いつきました。私はこれが似たような状況でたくさんの人々を助けることを願っています:

<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> 
関連する問題