我在這裏與Google Chrome有一些小問題。我的代碼在Safari上運行得非常好,這讓我認爲它應該可以在谷歌瀏覽器上正常運行。但Chrome並沒有按照預期製作動畫。什麼可能是錯的?jQuery Animate無法在Chrome上工作
$(function() {
var sourceFoto = $(".empreendimento .main-photo img").attr("src");
var alturaFoto;
var larguraFoto;
var limiteX;
var limiteY;
$(document).load(sourceFoto, function() {
alturaFoto = $(".empreendimento .main-photo img").height();
larguraFoto = $(".empreendimento .main-photo img").width();
limiteY = Math.round(alturaFoto - 420);
limiteX = Math.round(larguraFoto - 580);
$(".empreendimento .main-photo img").animate({
marginLeft: "-" + limiteX
}, 5000, 'jswing').animate({
marginTop: "-" + limiteY
}, 5000, 'jswing').animate({
marginLeft: "0px"
}, 5000, 'jswing').animate({
marginTop: "0px"
}, 5000, 'jswing');
});
});
編輯
我已經找到了答案。剛剛加載圖像onLoad
方法,工作得很好。
image = new Image();
image.onload = function() {
alturaFoto = $(".empreendimento .main-photo img").height();
larguraFoto = $(".empreendimento .main-photo img").width();
limiteY = Math.round(alturaFoto - 420);
limiteX = Math.round(larguraFoto - 580);
$(".empreendimento .main-photo img").animate({
marginLeft: "-" + limiteX
}, 5000).animate({
marginTop: "-" + limiteY
}, 5000).animate({
marginLeft: "0px"
}, 5000).animate({
marginTop: "0px"
}, 5000);
}
image.src = sourceFoto;
您是否檢查過您在兩種瀏覽器中傳入animate方法的值是否相同?如果是這樣,也許這是一個jQuery錯誤。如果沒有,解決這個問題。 – 2012-03-05 15:04:39
在控制檯中是否有任何錯誤? – danwellman 2012-03-05 15:04:47
你的控制檯中是否有錯誤? (在瀏覽器中點擊F12,然後瀏覽到頁面,在右下角看看是否有錯誤,如果有錯誤,請點擊通知,看看它是怎麼回事。) – JasCav 2012-03-05 15:05:18