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

发布于 2024-11-05 07:43:58 字数 467 浏览 0 评论 0原文

$('.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 中使用此代码的问题是,它会短暂显示我的页面元素,大约半秒。在那段时间里,这些元素没有按照我喜欢的方式定位,而且看起来很糟糕,但在这段时间之后,它们会重新渲染到我想要的位置。我页面中的所有元素都会发生这种情况。我目前正在本地主机中对此进行测试。无论如何,我可以重新编码,这样就不会发生这种情况吗?不过在 Chrome 上一切看起来都很好。

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

My problem with this code in IE8 is that it shows my page's elements for a brief moment, for about half a second. And during that period these elements are unpositioned the way I like them to be and they look quite bad, but after this period they are re-rendered in the position I want them to be. This happens to all elements in my page. I am currently testing this in localhost. Is there anyway I could recode So that this will not happen? Everything looks fine on Chrome though.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冰雪之触 2024-11-12 07:43:58

您可以最初将元素隐藏起来,然后仅在重新定位后才显示它们。

You could start the elements off hidden initially, then only show them after they are re-positioned.

聽兲甴掵 2024-11-12 07:43:58

嗯,这是因为它可以完成你所有的事情了。
没有简单的解决方案(除了让你的代码更高效)。

但是,您可以显示加载动画并阻止页面直到全部完成,然后解除阻止,所有这些都使用很棒的 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
});

希望这有帮助。干杯

Mmm, it's because the time it gets to do all your stuff.
No easy solution (other than making your code more efficient).

But, you could, show a loading animation and block the page until all finishes, then unblock, all this using the awesome jquery blockui plugin.

So you'd have:

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

Hope this helps. Cheers

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文