2012-01-14 57 views
1

我正在使用jQuery在懸停狀態下淡入新圖像,並用「_over.png」取代當前png。它在Chrome和Safari中運行良好,但它在Firefox中不起作用。jQuery在Firefox中懸停問題

而不是在我的初始.png相同的文件夾中尋找_over.png,它會去掉url並且不會添加_over。因此,firefox在翻轉時搜索「http:www.png」,但仍然會發生淡入淡出。

這是我的函數:

$(function() { 

$('img.fade').hover(function() { 
    var src = $(this).attr("src").match(/[^\.]+/) + "_over.png"; 
    $(this) 
     .animate({opacity:0},0) 
     .attr('src',src) 
     .stop() 
     .animate({opacity:1},1000); 
}, 

function() { 
    var src = $(this).attr("src").replace("_over", ""); 
    $(this) 
    .animate({opacity:0},0) 
    .attr('src',src) 
    .stop() 
    .animate({opacity:1},1000); 
}); 
}); 

我是新來的jQuery,並沒有發現任何解決這個網上,所以我在失去了一個總。這可能只是一個明顯的愚蠢的錯誤。任何幫助將不勝感激。

回答

0

這是試圖添加「_over」?

var src = $(this).attr("src").match(/[^\.]+/) + "_over.png" 

match()方法返回匹配的對象,可能會或可能不會toString()的東西對您有用,這將瀏覽器之間的不一致解釋。

什麼,你大概是什麼簡單地說就是

var src = $(this).attr("src").replace(/\.png$/i, "_over.png"); 
+0

感謝您的幫助。這沒有奏效......它最終完全崩潰了。不過,我想我明白了。我在同一時間調用jquery-1.5.js和masonry.js,這似乎在Firefox和IE中發生衝突......這樣一個無聊的原因是他們在Chrome中一起工作得很好。再次感謝! – danielle 2012-01-14 20:45:45