为啥 IE8 中的 CSS Hover 很慢?
Posted
技术标签:
【中文标题】为啥 IE8 中的 CSS Hover 很慢?【英文标题】:Why is CSS Hover Slow In IE8?为什么 IE8 中的 CSS Hover 很慢? 【发布时间】:2011-04-12 14:30:39 【问题描述】:我有一个带有 jstree 和/或 jqgrid 的页面 - 我用哪一个来表明我的观点并不重要,因为我怀疑它是 IE8 中的任何悬停效果......回到点:
当鼠标悬停在 <a>
标签上时,background-color
会随 CSS 进行更改。在包括 IE7 在内的所有浏览器中(虽然速度稍慢 - 我猜是 +-300 毫秒),后台更改没有延迟,但在 IE8 中,延迟可以达到甚至超过 1 秒。
我不会打电话给任何额外的onmouseover,onmouseout
等。
这些元素。
我已关闭所有动画 jQuery.
隐藏页面上的所有元素 除了 jstree(例如) 确实使悬停效果略微 更快,但什么都没有 很明显。
使用 IE8 调试器分析器 没有显示任何显着 开销,只有在正常时间 jQuery sizzle.js 很明显
这毕竟是文档元素 已加载并且没有额外的调用 制作到服务器,没有新图像 下载等等。
任何关于改进这一点的建议,例如:性能测试、标签选择等,将不胜感激。
问候, 拜伦·科布。
附:这个question 之前由 bobmoff 提出的问题并没有真正回答任何问题。
编辑:
进一步的测试表明,jquery .hover() 和绑定 mouseenter 和 mouseleave 在 IE8 中也同样慢。例如 - 我已经删除了页面上除了我的 jqgrid 之外的所有内容,并且悬停效果仍然很慢(尽管观察到略有增加)
在兼容模式下运行 IE8 也解决了这个缓慢的悬停问题。
【问题讨论】:
我认为向 MS 开放的问题... 你能提供一个我们可以玩的jsfiddle吗?还有你最后是怎么解决的? 【参考方案1】:不是完全重复,因此没有被标记为这样,但这篇 *** 文章“Mouseover/hover effect slow on IE8”可能会对您有所帮助。
我还在这里找到了更多帮助:http://boardreader.com/thread/javascript_CSS_IE8_problem_MouseOver_ver_bd40Xr0fw.html
【讨论】:
以上是关于为啥 IE8 中的 CSS Hover 很慢?的主要内容,如果未能解决你的问题,请参考以下文章