2014-09-23 86 views
0

我有一些跨瀏覽器兼容性問題。 而不是把所有的代碼在這裏,我鏈接你的頁面: http://www.smaskerando.org/spettacoli/disney.html
在頁面的左下角,你可以看到一個小畫廊。當您點擊小縮略圖時,屏幕中間會出現更大版本的照片。它在Chrome上完美運行,但它在Firefox和Internet Explorer上存在問題。
我認爲這個問題是在這些線路:跨瀏覽器庫兼容性.load()問題?

$(".galleryPopUp").load(function(){ 
    var width = $(this).width() 
    var height = $(this).height() 

     if (width < height) 
     {$(this).css("width","25%")} 

     else 
     {$(this).css("width", "50%")} 
}) 

他們似乎無法識別.load()方法。
您可以從頁面獲取完整代碼,查找「script.js」文件並轉到第379行(完整的圖庫函數)。

你有什麼想法如何解決它?
謝謝大家!

+0

嘗試'$(document).ready(callback)'。 'jQuery.load'是'jQuery.ajax'的一個僞方法,你不在這裏使用ajax。 – 2014-09-23 16:57:15

+0

其實你在JS中有錯誤。我的(firefox)控制檯顯示:'TypeError:$(...)。offset(...)is undefined $('html,body')。animate({scrollTop:$(ancoraOK).offset()。 - 73},400);'。你確定你正確地獲得了'ancoraOK'嗎? – 2014-09-23 16:59:34

+0

是的,我知道它說我有一個錯誤,但我嚴重無法找出原因,因爲'ancoraOK'被定義在上面一行,但這不是問題。我已經嘗試過'$(document).ready',但它似乎不起作用。 – Nefastus 2014-09-23 17:21:11

回答

0

好的,我找到了解決方案!我希望它可以幫助。 問題不在於​​。這是關於我試圖追加的div。實際上,直到現在我還沒注意到一個非常小的差異:
Firefox和Internet Explorer自動引用了我插入的圖像的屬性src的值。 Chrome不會這樣做。因此,爲了更清楚:
這是發生了什麼事對鉻:

... <img src="img/example.jpg" /> 

,這是發生在Firefox/IE:

... <img src=""img/example.jpg"" /> 

所以很明顯的Firefox沒有認識到的圖像。我解決了這個問題,使用jQuery遷移並添加了這一行if ($.browser.mozilla),我在使用firefox時從字符串中刪除了「」。
無論如何謝謝你的快速答案!

0

你應該把你自己的腳本放在jQuery調用下,因爲你正在使用jQuery,並且在你調用它的時候可能不可用。

這可能不是原因,而是一種粘性實踐。

我試過在Chrome上,它看起來像工程確定。