Я создал пример динамически генерируемого контента для просмотра с помощью Turn.js, используя предоставленный образец здесь.
Это часть кода, который у меня есть до сих пор:
<body>
<div id="paper">
</div>
</body>
<script type="text/javascript">
$(window).ready(function() {
$('#paper').turn({pages: 12});
});
$('#paper').bind('turning', function(e, page) {
var range = $(this).turn('range', page);
for (page = range[0]; page<=range[1]; page++)
addPage(page, $(this));
});
function addPage(page, book) {
// Check if the page is not in the book
if (!book.turn('hasPage', page)) {
// Create an element for this page
var element = $('<div />').html('Loading…');
// Add the page
book.turn('addPage', element, page);
// Get the data for this page
$.ajax({url: "getPage?filename=abcd&page="+page})
.done(function(data) {
element.html(data);
});
}
}
</script>
getPage — это jsp, который возвращает <div class="page"><img src="docs/local/abcd_1.png" alt="" /></div>
или любой другой номер страницы в соответствии с запросом ajax.
У меня проблема в том, что запрошенный png может быть или не быть доступным на веб-сервере во время запроса. Они станут доступны через несколько (а иногда и много) секунд спустя. Поэтому я хотел бы иметь возможность отображать некоторый контент типа «Загрузка ...» по умолчанию, если png недоступен и периодически обновляться (т.е. каждые x секунд), пока фактический png не станет доступным. У меня нет проблем с изменением вывода getPage, если это необходимо.