jQuery 淡入淡出图像与 HTML 调整大小有时会使它们移动

标签 jquery image firefox-10

我在使用 jQuery 1.7.1 的 FF10 中遇到了一个奇怪的问题。 我有一个画廊,可能缩小了图像,其中一些图像可以比原始尺寸缩放很多。

有时,当我尝试使用 jQuery 为其不透明度设置动画时,图像会“缩放”或跳到一侧。

举个例子,看看其中一个小例子,然后将鼠标悬停在它上面: http://jsfiddle.net/ZUWkh/

它可能非常微妙,但当不透明度动画化时,您可以看到图像发生变化 - 它似乎只影响已缩小到超过某一点的图像,因为我看不到它发生在更大的图像上这个例子。

您知道发生了什么以及如何克服它吗?

我像这样缩放它们只是为了将它们适合图库中的行 - 大小是用 PHP 计算出来的并且成比例。如果有差异,我可以使用 CSS 代替。

更新: 如果您调整浏览器窗口的大小或放大/缩小,问题就会发生变化 - 它没有得到解决,但被碰撞的图像发生了变化,因此其中一些在之后很好,而有些现在在动画时很好跳。

另一个更新: 我还注意到这似乎会影响抗锯齿,因为淡出的图像似乎是“锯齿状”,但在完全不透明时却很平滑。 FF 中的一些新功能可能会让图像看起来更漂亮?

另一个更新: 刚刚在 Chrome、Mac 上的 Safari 和 XP 上的 IE7 上进行了测试,此问题仅发生在 Mac 上的 FF10 上(不知道其他平台或版本)。奇怪...

又一个更新: 刚刚在XP上用FF9测试过,没有出现这个问题。然后我将其更新到FF10,问题就出现了。认为这对于错误报告来说可能足够强大......

最佳答案

找到了解决此问题的方法,不要问我为什么会这样或如何工作,但如果您使用以下方式设置图像样式

box-shadow: #000 0em 0em 0em;

这个问题神奇地消失了。 绝对与 Firefox 的抗锯齿功能有关,因为应用此样式后,当不透明度更改时,图像将保持抗锯齿状态。

除此之外,我不知道为什么会发生这种情况,也不知道为什么这个解决方案有效。

此外,在 IE7/8、safari、chrome 等浏览器中进行测试,没有任何问题。

更新 - 即使应用了这种样式,仅在 Firefox 中仍然看到此问题。有时可以提供帮助的另一种样式是 backface-visibility:hidden; - 请参阅此博客文章了解更多信息:http://css-tricks.com/almanac/properties/b/backface-visibility/

关于jQuery 淡入淡出图像与 HTML 调整大小有时会使它们移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9581071/

相关文章:

javascript - 为什么我的 JavaScript 没有加载到 Bootstrap 选项卡中?

javascript - 如何垂直和水平对齐 div 中的 img?

jquery - 使用 JQuery 在 HTML 周围添加 Span

javascript - 在当前JS中添加fadeOut

html - 具有图像背景的 Div 与 img 标签

linux - 在 Imagemagick 中使用循环裁剪图像

html - 如何水平对齐不同 div 中的图像