$('.hexLink').hide(); //Hides All hexLink elements
renderHexagons(); //Position hexLink elements
positionElements(); //Position elements within hexLink elements
handleEvents(); //Establish events and handlers and Show hexLink elements
我在IE8中使用这段代码的问题是,它显示了我的页面的元素一个短暂的时刻,大约半秒。在这段时间里,这些元素被移到我喜欢的位置,它们看起来很糟糕,但在这段时间之后,它们被重新渲染到我想要的位置。这发生在我的页面中的所有元素。我目前正在测试这在本地主机。有没有什么方法可以让我重新编码,这样就不会发生这种情况?
你可以一开始隐藏元素,然后在它们重新定位后才显示它们
嗯,这是因为它需要时间来做你所有的事情。没有简单的解决方案(除了让你的代码更高效)。
但是,你可以,显示一个加载动画并阻塞页面,直到所有完成,然后取消阻塞,这一切都使用了了不起的jquery blockui插件。
所以你有:
$(document).ready(function(){
$.blockUI(); //Starts loading animation
$('.hexLink').hide(); //Hides All hexLink elements
renderHexagons(); //Position hexLink elements
positionElements(); //Position elements within hexLink elements
handleEvents(); //Establish events and handlers and Show hexLink elements
$.unblockUI(); //Ends loading animation
});
希望这对你有帮助。欢呼声