2012-03-22 66 views
0

這個js畫廊在IE9,FF,Safari等工作正常,但不是在IE8。點擊拇指時,頁面上沒有任何反應。js畫廊不工作在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

在jQuery 1.7中,.live()方法已過時。 使用.on()附加事件處理程序。 http://api.jquery.com/live/ 正如你加載jQuery 1.7.1這可能是問題。 嘗試將.live()更改爲.on() – 2012-03-22 22:05:00

+0

不,這並不能解決我的問題。但我會聽取您的建議並將其更改爲.on()。乾杯... – GlennLawr 2012-03-22 22:19:39

回答

0

它不工作,因爲您的load事件永遠不會被解僱。

這可能是一個預期的(當時)優化,因爲加載尚未添加到DOM的圖像是沒有意義的。

我建議不要使用jQuery鬼混,只是做了老式的方法:

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

它有趣,你在這個解決方案中使用jQuery。 :) – Michael 2012-03-22 22:10:33

+0

對不起聽起來愚蠢的Kolink,但我應該在哪裏添加此js? – GlennLawr 2012-03-22 22:23:33

+0

使用它而不是當前的''行。 @邁克爾:我知道,我無法改變其餘的問題。 :p – 2012-03-22 22:28:22