У меня есть пользовательская бесконечная прокрутка, которая хорошо работает для прокрутки сверху вниз, я успешно добавил код для изменения прокрутки сверху вниз, но не смог сделать это снизу вверх.Вот мой код
Я объявил глобальную переменную my_page = 1, и вверху вниз, чтобы прокрутить вниз, я увеличиваю my_page на единицу и определяю слаг страницы и нажимаем состояние
jQuery(document).ready( function($) {
var url = window.location.origin + '/wp-admin/admin-ajax.php',
canBeLoaded=true,
bottomOffset = 2000; // the distance (in px) from the page bottom when
you want to load more posts
var my_page=1;
$(window).scroll(function(){
var ga_history = my_ajax_object.ga_history;
var data = {
'action': 'ga_infinite_scroll',
'query': my_ajax_object.posts,
'page' : my_ajax_object.current_page,
//'search_results' : my_ajax_object.ga_search_results,
'search_count' : my_ajax_object.ga_search_count,
'search_posts': my_ajax_object.ga_search_posts,
'search_term' : my_ajax_object.ga_search_term,
'user_currency': my_ajax_object.user_currency,
'reg_price_slug': my_ajax_object.reg_price_field_slug
};
if( $(document).scrollTop() > ( $(document).height() - bottomOffset ) && canBeLoaded == true ){//scroll bottom
$.ajax({//limit the ajax calls
url : url,
data:data,
type:'POST',
beforeSend: function( xhr ){
// you can also add your own preloader here
// you see, the AJAX call is in process, we shouldn't run it again until complete
//console.log(data.search_term);
$('#ajax-loader').show();
canBeLoaded = false;
},
success:function(data){
if( data ) {
//history api handling here
if ( ! window.history.pushState ) {
return;
}
my_page++;
var pageSlug = window.location.protocol + '//' + ga_history.host + ga_history.path.replace( /%d/, my_page ) + ga_history.parameters;
if ( window.location.href != pageSlug ) {
history.pushState( null, null, pageSlug );
}
// Fire Google Analytics pageview
//if ( self.google_analytics ) {
var ga_url = history.path.replace( /%d/, self.page );
if ( 'object' === typeof _gaq ) {
_gaq.push( [ '_trackPageview', ga_url ] );
}
if ( 'function' === typeof ga ) {
ga( 'send', 'pageview', ga_url );
}
//}
$('#multiple-products .columns-3 .products ').find('li:last-of-type').after( data ); // where to insert posts
canBeLoaded = true; // the ajax is completed, now we can run it again
my_ajax_object.current_page++;
$('#ajax-loader').hide();
}
else{
//$('#ajax-loader').html('End of products...').delay(1000).fadeOut();
$('#ajax-loader').fadeOut();
return;
}
}
});
}
else {//bottom to top, this fails
if( my_page!=1) {
my_page--;
var pageSlug = window.location.protocol + '//' + ga_history.host + ga_history.path.replace( /%d/, my_page ) + ga_history.parameters;
if ( window.location.href != pageSlug ) {
history.pushState( null, null, pageSlug );
}
}
else{
return;
}
});
});
Моя структура HTML - это стандартная структура темы магазина (в магазине реализована прокрутка).Мне не удалось определить прокрутку снизу вверх в этом сценарии (код комментируется // снизу вверх).Кроме того, мне интересно, если код (прокомментированный // Fire Page Google Analytics pageview) какой-либо пользы для Google Crawler?