2011-01-25 1 views
0

, когда я нажимаю на эскизах, этот сценарий изменить ссылку и изображение пути к большой картине, он отлично работает во всех браузерах, за исключением) IEJQuery скрипт не работает в 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

какая версия IE? – webdad3

+0

извините, не определил его, это восьмое – abrabr

+0

у вас есть ошибки javascript? – webdad3

ответ

1

Не уверен, что это решает всю проблему, но вы устанавливаете событие onload после определения свойства src. Это вызывает неприятности. Сделайте это наоборот.

1

onLoad не будет запускаться в IE, если изображение полностью кэшировано, попробуйте проверить атрибут complete, который IE будет добавлять при загрузке изображения.

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 
} 
+0

этот скрипт не помог, хотя – abrabr

0

Добавить $(document).ready() вокруг.

+0

, конечно, не так) Я определил его – abrabr