1

如何确定 sifr 已完成运行?我需要知道页面加载时存在 sifr 文本的元素的高度,但是当我检查高度时,sifr 尚未完成并且我得到的值不正确(应用 sifr 之前元素的高度)。而且我绝对希望避免在查找高度时任意延迟。有什么建议么?

4

2 回答 2

1

您可以使用onReplacement回调,每次替换元素时都会调用该回调。它被指定为 的参数sIFR.replace(),更多信息请参见:http ://wiki.novemberborn.net/sifr3/JavaScript+Methods 。

从那里开始,您将使用FlashInteractor作为第一个参数传递的对象来获取被替换的元素。

请注意,当页面调整大小时,文本可能会换行,从而改变 Flash 影片的高度。没有回调。

于 2009-04-22T21:59:09.903 回答
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>
于 2009-08-20T14:51:07.920 回答