如果你想要背景,这是一个跟进问题How can I stop an IFrame reloading when I change it's position in the DOM?。如何将绝对定位的元素直接放在内联元素的位置上?
我有一个内联div <div id="leaderboard-slot"></div>
(具有固定的宽度和高度)和另一个div(“leaderboard-loader”)在该页面的下一个div的实际内容。
由于各种原因(请参阅上一个线程),我无法简单地执行appendChild或类似操作。
相反,我希望定位排行榜装载程序,使它占据排行榜插槽“保留”的空间。我已经使用了一些jQuery方法来做到这一点:
var loader = $('leaderboard-loader');
var dest = $('leaderboard-slot');
var pos = dest.getPosition();
loader.setStyle('top', pos.y + 'px');
loader.setStyle('left', pos.x + 'px');
我在文档加载和调整大小。但是,如果页面内的其他元素导致回流,则目标div将移动,但加载器不会。
是否有这样做的安全方式 - 当我对页面没有其他任何知识时它需要工作(即,我不能仅仅对其他任何可能导致回流的方法进行调用,因为我没有知道这些是什么)。
任何帮助,将不胜感激 - 谢谢:)
感谢佩卡。不幸的是,排行榜加载器必须出现在文档的底部(它加载了一堆使用document.write的外部脚本) - 这个想法是在排行榜加载器之前允许整个页面加载。 – 2010-02-09 23:51:00
啊,我明白了。我重读了“进一步下一页”。 – 2010-02-09 23:53:22