Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как определить загрузилось ли изображение (https://javascript.ru/forum/jquery/9793-kak-opredelit-zagruzilos-li-izobrazhenie.html)

Andrei 06.06.2010 07:22

Как определить загрузилось ли изображение
 
Здравствуйте!

Как определить с помощью jquery окончание загрузки изображения ?

exec 06.06.2010 07:42

$(image).bind('load', handler);

Andrei 06.06.2010 08:13

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);
}
});

exec 06.06.2010 08:48

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();
});
}
});

Andrei 06.06.2010 09:04

exec, Я анимирую DIV с background

Andrei 06.06.2010 09:12

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;
}
});

exec 06.06.2010 09:17

Ну тогда лучше так

$.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);
});
});
}
});

Andrei 06.06.2010 09:46

Работает, спасибо!
С fadeIn почему-то не работало, я заменил на animate

Weeee 20.07.2010 17:07

Способ .load не работает в Opera 10.

Kolyaj 20.07.2010 17:23

Работает.


Часовой пояс GMT +3, время: 09:41.