IE6 javascript 图像交换

发布于 2024-08-10 04:35:47 字数 286 浏览 3 评论 0原文

我在使用 jQuery 进行 IE6 图像交换时遇到问题(但假设任何旧的 javascript 都会触发此问题)

当设置 $().attr('src','image.png') 时,选择器的当前图像截然不同在 image.png 图像的尺寸方面,IE6 将新图像压缩到旧图像的框架中,而根本不调整大小。

我已经尝试了几种解决此问题的方法,例如在加载新图像时用 onload 事件触发的新图像元素替换图像,但似乎没有什么是可靠的,各种结果都是图像塞进了一个非常小盒子,或者新图像根本无法加载。

非常感谢任何帮助。

I am having a problem with IE6 image swapping using jQuery (but assumedly any old javascript will trigger this issue)

When setting $().attr('src','image.png') where the current image for the selector is drastically different in dimensions to the image.png image, IE6 squeezes the new image into the frame of the old image without resizing at all.

I've tried a few ways around this such as replaceWith on the image with a new image element triggered by an onload event when loading the new image, but nothing seems to be reliable at all, various results have been the image crammed into a very small box, or the new image simply not loading at all.

Any assistance much appreciated.

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

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

发布评论

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

评论(1

那一片橙海, 2024-08-17 04:35:47

也许你必须触发回流。尝试添加并在新图像加载后立即删除 DIV。不过,必须有一些更好的方法来触发回流。我会调查一下。


当然,我假设您没有使用 CSS 显式设置图像大小?因为如果 img 有 style="width: 200px; height: 200px;"即使您将帝国大厦的全尺寸渲染加载到其中,它也将保持 200 像素的正方形。


关于触发回流的其他方法,查看此处。如果我猜对了请告诉我。

Maybe you have to trigger a reflow. Try adding and immediately removing a DIV after the new image has loaded. There must be some better method to trigger a reflow, though. I'll look into it.


Of course I'm assuming you didn't set the image size explicitly with CSS? Because if the img has style="width: 200px; height: 200px;" it will remain a 200px square even if you load a full size render of the Empire State Building into it.


About other ways of triggering a reflow, look here. Let me know if I guessed right.

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