Internet Explore 8不会使用.attr()更改图像src

时间:2012-08-24 10:18:11

标签: jquery internet-explorer-8 src scrolltop

我已经设置了一个页面,当用户使用鼠标或触控板滚动时,该页面将浏览一系列图像。我正在使用jQuery来测量距页面顶部的距离 - scrollTop() - 然后更改DOM中特定id的图像源。

这在Firefox,Chrome,Safari,Opera,IE9以及iPad,iPhone等上运行良好。但是,它在IE8中无效。

这是HTML:

<div id="flipping-container">
    <img id="flipping-id" class="flippingTarget" src="imageOne.png" alt="imageone" />
</div>

这是JS:

$(document).scroll(function() {
    var toTop = $(document).scrollTop();
    if (toTop <= 340) {
            $('.flippingTarget').attr('src','imageOne.png');
    }
    else if ((toTop <= 392) && (toTop > 341)){
            $('.flippingTarget').attr('src','imageTwo.png');
    }
    else if ((toTop <= 445) && (toTop >= 393)){
            $('.flippingTarget').attr('src','imageThree.png');
    }

// AND SO ON
// ENDING WITH...

    else {
            $('.flipping-target').attr('src','image1.png');
    };
});

“flipping-container”的div ID被赋予一个CSS值:position:fixed;所以它总是可见的。

我已经倾注了StackOverflow帖子,并且还没有设法找到一个可行的解决方案。 scrollTop()值正在被完全读取,因为我在按钮上点击事件会将页面平滑地从顶部滚动到div和/或多个像素。 IE8很好用,所以它不是html / body / document / window scrollTop()问题。

我已经为.addClass()切换了.attr()值,看看是否会拾取它。但它不适用于IE8。所以它可能与src属性本身没有直接关系。我已经仔细检查了我的班级名称和目标,他们一切都很好(其他浏览器也按照预期的方式证明了这一点)。

任何线索?任何帮助将不胜感激。

0 个答案:

没有答案