У меня здесь небольшая проблема с Google Chrome. Мой код очень хорошо работает с Safari, что заставляет меня думать, что он отлично работает с Google Chrome. Но Chrome не оживляет, как ожидалось. Что может быть неправильным?jQuery Анимация не работает на 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. Если нет, исправьте эту проблему. –
У вас возникли ошибки в консоли? – danwellman
Получаете ли вы какие-либо ошибки в консоли? (Нажмите F12 в браузере, а затем перейдите на страницу. Посмотрите в нижнем правом углу и посмотрите, есть ли ошибки. Если есть, щелкните уведомление и посмотрите, что он говорит.) – JasCav