Internet Explorer 8中的jQuery隐藏-重新定位-显示错误


$('.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
});

希望这对你有帮助。欢呼声