У меня есть страница с 10 изображениями, и я хочу, чтобы они исчезали один за другим после того, как изображение было загружено. как я могу обнаружить, что изображение загружено и готово к отображению? и должен ли я проходить через загруженные изображения fadeIn и один раз fadedIn ждать следующего загрузки?jquery: fade in image after image
ответ
Просто используйте событие load() на изображении. Например.
$('#some_image').hide()
.load(function() {
$(this).fadeIn();
})
.attr('src', 'images/headshot.jpg')
Вы можете предварительно загрузить изображения, возможно (See here), а затем последовательно вызвать методы fadein и fadeout в цикле.
получил рабочую часть предварительной загрузки, но я не хочу исчезать изображение, пока не узнаю, что он был предварительно загружен? – monkeylee
Вы можете использовать событие onLoad объекта изображения, которое вы только что загрузили: objImage.onLoad = imagesLoaded() ;. Функция imageLoaded вызывается после загрузки изображения. Поместите свой материал fadein fadeout туда. – maxpower47
(на основе ответа Kris Эриксона)
Вы можете быть в состоянии избежать возможных условий гонки, добавив событие изображения перед добавлением его в DOM (неподтвержденной, но мне нравится играть безопасно). Также этот метод хорош для выцветания изображений друг над другом.
Это то, что я использую для управления галереей, где я добавляю изображение поверх другого изображения и угасаю его - тогда я удаляю нижнее изображение, если я уже добавил 2 изображения.
var url = .....;
var container = $('#images_container');
$("<img />").hide().load(function() {
$(this).fadeIn();
}).attr('src', url).appendTo($(container));
if ($(container).children().length > 2) {
$(":nth-child(1)", container).remove();
}
Вот HTML:
<div id="images_container"></div>
CSS-должен быть настроен так или изображения будут стек вместо того, чтобы быть на вершине друг друга.
#images_container {
position: relative;
}
#images_container {
position: absolute;
}
- 1. jquery image fade in
- 2. Fade in image only after finish loading
- 3. Javascript - Fade image in?
- 4. image on click fade in other image
- 5. Android Fade In Image
- 6. fade in image javascript
- 7. body background-image fade in
- 8. CSS3 (или jQuery) Fade in Image
- 9. jQuery image dissapears in hover with fade
- 10. JQuery Image Fade In One By One?
- 11. Простой jQuery Image fade
- 12. jQuery Image Fade Sequence?
- 13. JQuery fade image swap
- 14. jquery background image fade
- 15. Fade in SVG background image
- 16. Fade in image with ViewPropertyAnimator
- 17. CSS fade-in background image
- 18. image fade in on scroll
- 19. JQuery Image Fade in Fade out без rel/abs positioning
- 20. jQuery rollover mouse fade image
- 21. jQuery hover image fade swap
- 22. fade in and out background-image css
- 23. Fade In Image on Load via CSS
- 24. jQuery fade image in и out при нажатии или загрузке
- 25. Fade out background-image
- 26. Perl SWF :: Builder fade in image
- 27. Fade in/out background image on hover
- 28. Javascript fade image in и out
- 29. Fade in the an div background image
- 30. Fade Image to Transparent in iOS
так будет ли функция загрузки выполняться только при полном сканировании изображения? – monkeylee
Да, это происходит, когда изображение загружается. –
Вы можете увидеть это в действии здесь: http://jsbin.com/ejesu/edit (до тех пор, пока jsbin хранит фрагмент). –