是否有方法检测IE7中图像的实际宽度。
目前,我们有一个变化的图像(目前我们还不知道尺寸),用户也可以放大(更改它的$('#img').height())。在IE8和火狐中,我们可以在高度上调用removeAttr,将图像重置为其自然大小,然后基于此进行计算。在IE7中,removeAttr不工作(http://gimp4you.eu.org/sandbox/js/test/removeAttr.html),并将高度设置为“完全”隐藏图像。
因此,高度检测第一次工作良好,但一旦放大发挥作用,高度和宽度被修改,所以下一个图像使用这些。
我想要避免完全删除img标签,重新创建一个没有高度标签,但有没有其他方法来获得这一点?
更新:
抱歉,不太清楚。问题不在于存储加载的高度,而是在更新src标记以更改图像时,会记住html/css中设置的高度--它不使用实际的图像高度。我需要能够检测到实际的图像高度,即:如果你只打开图像有多少像素高。在比使用IE7的removeAttr (“高度”)更好的浏览器中,在加载图像之后,读取.height()属性提供了此功能,但是removeAttr不能与IE7一起工作,因此您将得到图像设置的高度。
我在这里根据Russ的示例创建了一个示例:
http://jsfiddle.net/px5yY/9/
如果你点击‘图像2’然后‘点击我’然后‘重置’,它正确地加载图像,缩放它,并返回到原来的大小。
然而,如果你点击‘点击我’,然后‘图像2’,然后‘重置’它保持较小(因为高度属性被记住从缩小的图像。我需要能够访问适当的图像大小,如第一个例子所返回的)。
我希望这能更清楚些。
发布于 2010-08-04 11:01:55
编辑:在JSFiddler上更新:
http://jsfiddle.net/px5yY/11/
发布于 2010-08-04 10:59:40
您可以使用$('#img').data()来存储原始大小。
https://stackoverflow.com/questions/3404789
复制相似问题