当我点击缩略图时,这个脚本改变了大图的链接和图像路径,它在所有浏览器中都能正常工作,除了IE浏览器
$('.image').click(function(event) {
event.preventDefault();
var imagePath = $(this).attr("href");
var newImg = new Image;
newImg.src = imagePath;
newImg.onload = function(){
$('#big_picture2').hide();
$('#big_picture2').attr('src', imagePath);
$('.product_image_large').attr('href', imagePath);
$('#big_picture2').fadeIn('slow');
};
});
html看起来像这样:
<a href="/documents/product/#GET_IMAGE_BIG.path#" id="thumb1" onclick="return hs.expand(this, { slideshowGroup: 1 } )" class="product_image_large"><img src="/documents/product/#path#" id="big_picture2" border="0" /></a>
<a href="/documents/product/#get_product_images.path#" class="image"><cf_get_server_file output_file="product/#get_product_images.path#" title="#get_product_images.detail#" output_server="#path_server_id#" output_type="0" image_width="45" image_height="41"></a>
不要被cf_get_server_file打扰这只是动态冷融合代码,它运行正常。
答案 0 :(得分:1)
不确定这是否解决了整个问题,但您在定义onload
属性后设置了src
事件。这是在呼唤麻烦。反之亦然。
答案 1 :(得分:1)
onLoad
将不会在IE中触发,请尝试检查IE将在加载图像时添加的complete
属性。
newImg.src = imagePath;
var fadeIn = function(){
$('#big_picture2').hide();
$('#big_picture2').attr('src', imagePath);
$('.product_image_large').attr('href', imagePath);
$('#big_picture2').fadeIn('slow');
};
if($(newImg).attr('complete'))
{
fadeIn();
}
else
{
newImg.onLoad = fadeIn
}
答案 2 :(得分:0)
添加$(document).ready()
。