如何确定sifr已结束运行?我需要知道在页面加载上有sifr文本的元素的高度,但是当我检查高度时,sifr还没有完成,并且我得到了一个不正确的值(应用sifr之前元素的高度)。我当然想避免在寻找高度时随意的延迟。有什么建议吗?
发布于 2009-04-22 21:59:10
您可以使用onReplacement回调,每次替换元素时都会调用该回调。它被指定为sIFR.replace()的参数,更多信息在这里:http://wiki.novemberborn.net/sifr3/JavaScript+Methods。
从那时起,您将使用FlashInteractor对象,该对象作为第一个参数传递,以获取被替换的元素。
但请注意,当页面调整大小时,文本可能会换行,从而改变Flash电影的高度。这里没有回调。
发布于 2009-08-20 14:51:08
我在这上面花了大量的时间,最后想出了一个跨浏览器的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>https://stackoverflow.com/questions/778019
复制相似问题