определить, когда SIFR будет сделано? - PullRequest
1 голос
/ 22 апреля 2009

Как я могу определить, что sifr завершил работу? Мне нужно знать высоту элемента, где есть текст sifr при загрузке страницы, но когда я проверяю высоту, sifr еще не завершен, и я получаю неправильное значение (высота элемента до применения sifr). И я определенно хочу избежать произвольной задержки при поиске высоты. Есть предложения?

Ответы [ 2 ]

1 голос
/ 23 апреля 2009

Вы можете использовать обратный вызов onReplacement, который вызывается каждый раз при замене элемента. Он указан в качестве аргумента для sIFR.replace(), подробнее здесь: http://wiki.novemberborn.net/sifr3/JavaScript+Methods.

С этого момента вы будете использовать объект FlashInteractor, который передается в качестве первого аргумента, чтобы получить заменяемый элемент.

Обратите внимание, что при изменении размера страницы текст может переноситься, изменяя высоту видеоролика Flash. Обратного вызова для этого нет.

0 голосов
/ 20 августа 2009

Я потратил ТОНУ времени на это и, наконец, нашел кросс-браузерное решение 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>
...