【问题标题】:determine when sifr is done?确定 sifr 何时完成?
【发布时间】:2011-04-01 08:37:05
【问题描述】:

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

【问题讨论】:

    标签: sifr


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      我为此花费了大量时间,终于想出了一个跨浏览器的 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>
      

      【讨论】:

        猜你喜欢
        • 2015-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-17
        • 1970-01-01
        • 1970-01-01
        • 2014-05-29
        • 2017-09-09
        相关资源
        最近更新 更多