Для веб-сайта, над которым я работаю, мне пришлось использовать плагин для слайд-шоу nivoslider. Проблема в том, что у нас более десяти изображений с более высоким разрешением. Поэтому для загрузки страницы требуется слишком много времени. Есть ли какой-либо вариант, чтобы мы могли загрузить эти изображения после полной рендеринга страницы? Или загружать изображения один за другим, а не загружать все изображения в начале?Как сделать изображения в nivoslider загруженными асинхронно?
1
A
ответ
1
1
Я не думаю, что это можно сделать изображения нагрузки Nivo слайдер, но вы можете загрузить изображения с яваскрипт и после этого запустить ползунок.
Для этого необходимо: 1. Создать DIV для слайдера изображений только с первым изображением 2. Созданием яваскрипта массива с URL для остальных изображений 3. Run Js функции, которая будет создавать код для отдыха изображений, как только страница загружается только с первого изображения. 4. Когда остальная часть изображения готова, запустите ползунок nivo.
Это может выглядеть так:
HTML код
<div id="sliderWrapper">
<img src="/myfirstsliderimage.jpg" />
</div>
Javascript код (при условии использования JQuery)
var sliderImages = ['/path/to/secondimage.jpg', '/path/to/thirdimage.jpg',
'/path/to/forthimage.jpg'];
var imagesLoaded = 1; //set to one as the first image is loaded with the page
$(document).ready(function(){
for(i in sliderImages) {
//create new img element
var img = $('<img></img>').attr('src', sliderImages[i]).attr('id','sliderImg_'+i);
//append to slider wrapper
$('#sliderWrapper').append(img);
//after image is loaded increase the counter,
//it will tell us when to start slider
$('#sliderImg_'+i).load(function(){imagesLoaded += 1;});
}
//after inserting images run nivo slider
runNivoSlider();
});
function runNivoSlider() {
if (imagesLoaded == $('#sliderWrapper img').length) {
//all images are loaded, we can run nivo slider
$('#sliderWrapper').nivoSlider();
}
else {
//something is still missing try in 300 ms
setTimeout(function(){runNivoSlider();}, 300);
}
}
0
Другой обходной путь решения будет отображать изображение самого первого слайдера вместо загрузки gif (фон).
Смежные вопросы
- 1. jQuery цикл слайд-шоу с асинхронно загруженными изображениями
- 2. Как загружать изображения асинхронно
- 3. Загрузка изображения асинхронно
- 4. Как загружать изображения в список асинхронно?
- 5. Загрузка веб-изображения асинхронно
- 6. JQuery NivoSlider Slider не работает $ ('# ползунок'). NivoSlider(); не является функцией
- 7. асинхронно меняя изображения в WPF
- 8. Асинхронно загружать изображения в ViewPager
- 9. Загрузка изображения асинхронно ежевики
- 10. Загрузка изображения в UIImage асинхронно
- 11. Как асинхронно загружать изображения в динамический UITableView?
- 12. NivoSlider - Отключить правый щелчок
- 13. Как загрузить изображения ячейки CollectionView асинхронно?
- 14. Как сделать TableView прокручиваемым с уже загруженными данными в iOS
- 15. Как сделать символы печати gdb в разделяемых библиотеках загруженными dlopen?
- 16. цифры вместо точек в nivoslider
- 17. Асинхронно получать и хранить изображения в python
- 18. Nivoslider не загружается на iPad
- 19. Асинхронно заданные изображения в виде таблицы
- 20. Как получить изображения с сервера асинхронно
- 21. NivoSlider jquery issue
- 22. Загрузка изображения асинхронно, странные проблемы
- 23. Как загрузить изображения асинхронно с веб-сервера
- 24. Использование Nivoslider с Gumby
- 25. Как загрузить изображения асинхронно с webpack
- 26. Никаких эффектов с nivoSlider
- 27. nivoSlider неопределенных ресурсы
- 28. Nivoslider и Twitter Bootstrap
- 29. Загрузка изображения асинхронно из файла
- 30. Обновление ячейки таблицы изображения асинхронно