Этот фрагмент кода создает бесконечный эффект прокрутки на моем сайте, и он отлично работает, но только в последней версии Chrome. Safari, FF & IE не инициализирует вызов ajax и вместо этого использует откат, который является кнопкой «Загрузить больше».Бесконечный прокрутка работает только в Chrome
Хотя он не работает, я создал jsFiddle, который представляет собой разметку, которую я использую на моей странице коллекции Shopify, чтобы надеяться дать вам лучшее представление о моей настройке: http://jsfiddle.net/qpka6pyv/1/ Я делаю что-то неправильно?
FYI Я использую doTimeout plugin для создания задержки (не обязательно), и я прикрепляю и загружаю больше элементов внутри прокручиваемого div, называемого «.st-content», а не html или body. Поэтому, когда вы переходите к нижней части «.st-content», загрузите следующий X-ряд продуктов. В настоящее время это работает только в Chrome.
Вот JQuery:
function ScrollExecute() {
if($(document).height() - 350 < ($(document).scrollTop() + $(window).height())) {
scrollNode = $('.scrollnode #more').last();
scrollURL = $('.scrollnode #more p a').last().attr("href");
if(scrollNode.length > 0 && scrollNode.css('display') != 'none') {
$.ajax({
type: 'GET',
url: scrollURL,
beforeSend: function() {
scrollNode.clone().empty().insertAfter(scrollNode).append('<img src=\"{{ "loading.gif" | asset_url }}\" />');
scrollNode.hide();
},
success: function(data) {
// remove loading feedback
scrollNode.next().remove();
var filteredData = $(data).find(".scrollnode");
filteredData.insertBefore($("#product-list-foot"));
},
dataType: "html"
});
}
}
}
$(document).ready(function() {
$('.st-content').scroll(function(){
$.doTimeout('scroll', 100, ScrollExecute);
});
});
В качестве эталона я получил код из этого блога статьи: http://www.davecap.com/post/9675189741/infinite-scroll-for-shopify-collections
Вы отлаживали и видели, что не называется правильно? console.log - ваш друг. – epascarello
Я не получаю никаких консольных ошибок в любом из браузеров. – egr103
Итак, вы добавили в консольные строки, чтобы увидеть, вызвана ли прокрутка ... После этого добавьте строки консоли, чтобы понять, почему утверждение if неверно. – epascarello