js gallery不在IE8中工作

时间:2012-03-22 21:52:13

标签: javascript gallery thumbnails

这个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"));   
                        });
              });

        });

提前致谢...

1 个答案:

答案 0 :(得分:0)

它无效,因为您的load事件永远不会被解雇。

这可能是预期的(当时)优化,因为加载尚未添加到DOM的图像是没有意义的。

我建议不要使用jQuery,只是按照老式的方式进行:

var i = new Image();
i.src = this.href;
i.onload = function() {
    $('#imageWrapClasp').css blah blah blah
    more blah here
}