Загрузка одной страницы много раз
При быстром многократном нажатии загружается одна страница много раз:
Скрипт асинхронной загрузки
jQuery(function($){
$('#true_loadmore').click(function(){
$(this).text('Загружаю...'); // изменяем текст кнопки, вы также можете добавить прелоадер
var data = {
'action': 'loadmore',
'query': true_posts,
'page' : current_page
};
$.ajax({
url:ajaxurl, // обработчик
data:data, // данные
type:'POST', // тип запроса
success:function(data){
if( data ) {
$('#true_loadmore').text('Загрузить ещё').before(data); // вставляем новые посты
current_page++; // увеличиваем номер страницы на единицу
if (currentPage == maxPages) $("#true_loadmore").remove(); // если последняя страница, удаляем кнопку
} else {
$('#true_loadmore').remove(); // если мы дошли до последней страницы постов, скроем кнопку
}
}
});
});
});
Как в самом начале AJAX-запроса добавлять класс (к body или к кнопке), после выполнения запроса удалить его?
То есть перед нажатием кнопки проверить наличие класса. Если класс есть (т.е. предыдущий запрос не выполнен до конца), то ничего не делаем и насколько это правильный подход ?
Источник: Stack Overflow на русском