Как определить загрузилось ли изображение
Здравствуйте!
Как определить с помощью jquery окончание загрузки изображения ? |
$(image).bind('load', handler);
|
exec,
У меня url подгружается через ajax, нужно запустить анимацию появления после загрузки изображения Как в этом случае определить ? $.ajax({ type: "POST", url: "/rand_header.php", data: "userHour="+myHour, success: function(pic){ $('#header').css('backgroundImage', 'url('+pic+')'); $('#header').animate({'opacity':'1'}, 230); } }); |
Andrei, background нельзя анимаировать через animate.
$.ajax({
type: "POST",
url: "/rand_header.php",
data: "userHour="+myHour,
success: function(pic){
$('#header').append('<img style="opacity: 0;" src="' + pic + '" />').bind('load', function () {
$(this).fadeIn();
});
}
});
|
exec, Я анимирую DIV с background
|
exec, a если так ?
$.ajax({
type: "POST",
url: "/rand_header.php",
data: "userHour="+myHour,
success: function(pic){
myImage = new Image();
function write(){
$('#header').css('backgroundImage', 'url('+myImage.src+')');
$('#header').animate({'opacity':'1'}, 230);
}
myImage.onload = write;
myImage.src = '/themes/images'+pic;
}
});
|
Ну тогда лучше так
$.ajax({
type: "POST",
url: "/rand_header.php",
data: "userHour="+myHour,
success: function(pic){
$('<img src="' + pic + '" />').bind('load', function () {
$('#header').css('backgroundImage', this.src).fadeIn(230);
});
});
}
});
|
Работает, спасибо!
С fadeIn почему-то не работало, я заменил на animate |
Способ .load не работает в Opera 10.
|
Работает.
|
| Часовой пояс GMT +3, время: 03:24. |