【问题标题】:IE9 jQuery Image Size?IE9 jQuery 图像大小?
【发布时间】:2011-05-25 20:28:20
【问题描述】:

此代码 sn-p 不适用于 IE9。在 HTML 中,我声明了图像的宽度和高度,但是当代码运行时,它会提示 0 而不是属性中指定的图像大小。有谁知道如何解决这个问题?

在 Chrome / Firefox 上运行良好

// Sets Default Size to a data attr
function saveImageDefaults() {
    $('#rightBlock img').each(function() {
        alert($(this).attr('width'));
    });
}

jQuery(document).ready(function(){

    // Resize Right Block
    $('#rightBlock').width($('#whiteBlockIn').width() - 270);


    // Save Images Default  Width / Height
    saveImageDefaults();
}

【问题讨论】:

  • 你的图片可见吗?
  • 两个问题:你的代码能和之前版本的ie 9 (8, 7, 6)兼容吗?你能把html代码贴出来吗?
  • jQuery 的哪个版本?
  • 所有版本的 IE,最新的 jQuery,不管是什么.. 图像都是可见的,直到 IE 将宽度/高度设置为 0

标签: javascript jquery internet-explorer


【解决方案1】:

我认为jQuery 正在返回计算的样式,即渲染元素的时间。但是,IE 有 elem.currentStyle,据我所知,它与 elem.runtimeStyle(类似于 getComputedStyle())不同。

所以,试试this.currentStyle.width 看看它会返回什么

【讨论】:

  • IE 9 支持getComputedStyle()
【解决方案2】:

如果它在 IE8 中工作,你可以使用

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

作为快速而肮脏的解决方案。

【讨论】:

  • 是的,它适用于 IE8。我确实测试了几秒钟。
  • 可能解决了这个问题,但是你也会失去所有其他新的和闪亮的 IE9 功能。升级到 IE9 有点失败。
  • @Spudley 你当然是对的,但我注意到它很快但很脏。
猜你喜欢
  • 2012-10-08
  • 2016-12-07
  • 2010-11-11
  • 2013-01-10
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 2011-07-11
  • 1970-01-01
相关资源
最近更新 更多