2012-05-08 2 views
1

У меня возникает прерывистая проблема с плагином smoothdivscroll. Я заметил, что иногда, когда я загружаю страницу, будет отображаться только первое изображение, и оно будет просто неподвижным. Иногда (после нескольких обновлений) все изображения загружаются и начинают прокрутку. Я проверил ответ от ajaxContent.php, и ответ фрагмента кажется правильным.jQuery Smoothdivscroll ajax intermittent issues

настоящее время я использую следующий пример кода:

$("#div").smoothDivScroll({ 
    autoScrollingMode: "always", 
    autoScrollingDirection: "endlessloopleft", 
    autoScrollingStep: 1, 
    autoScrollingInterval: 15, 
    ajaxContentURL: "ajaxContent.php" 
}); 

, что ajaxContent.php делает это, что он возвращает фрагменты страниц с DIV с источником изображения, аналогично примеру на http://www.smoothdivscroll.com/lab.html с содержанием «Replace с демо-содержимым html ». ЦСИ изображение фактически представляет собой полный путь к изображению на внешний сайт, что-то вроде

<img src="http://example.com/image.jpg">. 

Пример фрагмента возвращенного:

<div class="contentBox"> 
<img src="http://example.com/image.jpg"> 
</div> 
<div class="contentBox"> 
<img src="http://example2.com/image2.jpg"> 
</div> 

Я тогда тоже попытался демо-пример, который, кажется, работает неплохо, может замедлить загрузку изображений с внешних сайтов, чтобы плагин работал некорректно?

ответ

0

Да, это может быть вызвано медленной загрузкой изображений и/или некоторой проблемой с помощью CSS div с классом «contentBox», что затрудняет вычисление полной ширины всех элементов в прокручиваемой области.

Когда инициируется Smooth Div Scroll, он проверяет наличие указателя ajaxContentURL. Если это так, он загружает HTML-контент с этого URL-адреса и сразу же после пересчета ширины прокручиваемой области. Когда он пересчитывает ширину прокручиваемой области, он смотрит на ширину прямых дочерних элементов, в вашем случае div с классом «contentBox». Если эти div не имеют фиксированной ширины, указанной в CSS и некоторые/все изображения не были полностью загружены. Smooth Div Scroll будет вычислять полную ширину всех элементов.

Если все изображения имеют одинаковую ширину, вы можете попробовать установить фиксированную ширину для «contentBox» -divs. Еще одна вещь, которую вы могли бы попробовать, - временно отключить оболочку div и просто загрузить HTML с помощью тегов изображений.