В моем наборе я использую jquery, чтобы затухать изображение, изменить его источник на что-то еще, а затем снова увязнуть. Однако иногда при медленных соединениях изображение будет исчезать до того, как источник полностью изменится, поэтому старое изображение будет по-прежнему появляются на короткую секунду до появления новой.jquery .attr() с обратным вызовом?
Есть ли способ получить обратный вызов на attr, так что затухание обратно вызвано только при отражении изменения attr?
$(".img").fadeTo("fast",0,function(){
$(".img").attr({
//some other stuff
'src':url
});
$(".img").fadeTo("fast",1);
//other stuff
});
Я использую fadeTo не fadeIn(), поэтому размер изображения сохраняется.
Не будет ли это связывать «нагрузку» с .img, добавляя все больше привязок при каждом запуске этого кода? Может быть безопаснее добавить привязку в глобальную область. –
Да, да. Хороший улов. Я не мог вспомнить, будет ли '.load()' запускаться, если он уже был перезапущен. @Squeegy имеет решение ниже, если это так, это решение, если это не так. Я помню что-то подозрительное, когда я использовал '.load()'. – Jason
Я добавил unbind. Попробуйте сравнить наш код и посмотрите, правильно ли @squeegy. – Jason