这个js画廊在IE9,FF,Safari等中运行良好,但在IE8中没有。单击拇指时,页面上没有任何反应。
有谁知道为什么?
我的页面位于here
HTML(缩减版):
<div id="strandScroll">
<ul>
<li><a href="images/IMG_8720_.jpg" class="thumbnailStrand"><img src="images/IMG_8720_small.jpg"
alt="Image 1" border="0"/></a></li>
<li><a href="images/IMG_9112.jpg" class="thumbnailStrand"><img src="images/IMG_9112_small.jpg"
alt="Thumbnail 2" border="0"/></a></li>
</ul>
</div>
<div id="claspScroll">
<ul>
<li><a href="images/IMG_8626.png" class="thumbnailClasp"><img src="images/IMG_8626.png"
alt="Image 1" border="0"/></a> </li>
<li><a href="images/IMG_8577.png" class="thumbnailClasp"><img src="images/IMG_8577.png"
alt="Thumbnail 2" border="0"/></a></li>
</ul>
<div>
<div id="combinedStrand">
<img src="images/IMG_8720_.jpg" max-width 100% alt="Main Image" id="mainImageStrand" class="combinedStrandImage"/>
</div>
<div id="combinedClasp">
<img src="images/IMG_8577.png" alt="Main ImageClasp" id="mainImageClasp" class="combinedClasp"/>
</div>
JS:
$(function() {
$('.thumbnailStrand').live('click', function() {
$('#mainImageStrand').hide();
$('#imageWrap').css('background-image', 'url(ajax-loader.gif)');
$('<img />').attr('src', this.href).load(function() {
$('#imageWrap').css('background-image', 'none');
$('#mainImageStrand').attr('src', $(this).attr('src')).fadeIn();
});
return false;
});
$('.thumbnailClasp').live('click', function() {
$('#mainImageClasp').hide();
$('#imageWrapClasp').css('background-image', 'url(ajax-loader.gif)');
$('<img />').attr('src',this.href).load(function() {
$('#imageWrapClasp').css('background-image', 'none');
$('#mainImageClasp').attr('src', $(this).attr('src')).fadeIn();
});
return false;
$(".thumbnail").click(function() {
$("#mainImage").attr("src", $(this).attr("src"));
});
});
});
提前致谢...
答案 0 :(得分:0)
它无效,因为您的load
事件永远不会被解雇。
这可能是预期的(当时)优化,因为加载尚未添加到DOM的图像是没有意义的。
我建议不要使用jQuery,只是按照老式的方式进行:
var i = new Image();
i.src = this.href;
i.onload = function() {
$('#imageWrapClasp').css blah blah blah
more blah here
}