IE 8& 9在image.load中设置宽度时不调整容器大小

时间:2010-09-19 23:37:19

标签: javascript jquery internet-explorer-8 internet-explorer-9

要查看问题,请转到此page,然后点击下一个文字。 small,medium fullsize 文本将在左侧(在IE8或IE9中,在Chrome,FireFox中正常工作)并且不会与图像的左边缘对齐。

代码(http://moments.qa.chucksoft.com/Scripts/mvc/views/show/Showview.js)第154行:

 ShowView.prototype.setImageSrc = function (imagesrc) {

  var image = $('img#image');
    image.attr('src', imagesrc);
    image.load(function () {
        var container = $('div#imagecontainer');
        container.fadeIn(200);
        var resizer = new Resizer();
        resizer.resize(this.width, this.height, maxWidth, maxHeight);
        var image = $(this);
        var imageWidth = (resizer.width + 23);            
        container.width(imageWidth);
    });
        image.attr('src', imagesrc);
    };

据我所知,container.width(imageWidth);未在IE8或IE9中呈现。如果页面刷新,那么它的工作原理。使用内置开发人员工具在html中显示正确的值,但如果在开发人员工具中使用选择器工具,则轮廓不会反映更改的宽度值。

我尝试过使用vanilla javascript。那没用。我尝试过两次设置图像源。这也不起作用。

我对如何解决这个问题感到茫然。任何见解都会非常感激。

更新

为了澄清,当您从风景图像转换为肖像图像时会出现问题,否则一切都会按预期工作。

......?

1 个答案:

答案 0 :(得分:0)

我还没有想出这个问题。我采取了不同的方向。