// Кешируем значение
var s_cache = $(window).scrollTop();
$(window).scroll(function() {
var st = $(window).scrollTop(), d = st - s_cache;
if(d > 0) {
// Скроллим вниз
}
else {
// Скроллим вверх
}
s_cache = st;
});
<div id="true_loadmore">Загрузить ещё</div>
jQuery(function($){
$('#true_loadmore').click(function(){
if (!$(this).hasClass('in-progress'))
{
$(this).addClass('in-progress');
$(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(); // если мы дошли до последней страницы постов, скроем кнопку
}
$('#true_loadmore').removeClass('in-progress');
}
});
}
});
});
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{compress
mode = 'css'
media = 'screen'
type = 'inline'
source = [
[ 'file' => 'http://fonts.googleapis.com/css?family=Titillium+Web:300|Exo+2:300,400,700&subset=latin,cyrillic' ],
[ 'file' => 'http://fonts.googleapis.com/css?family=Six+Caps' ],
[ 'file' => '/css/screen.css' ]
]
}
{compress
attr = 'data-no-instant async' // если нужны атрибуты какие то
mode = 'js'
type = 'inline' // Это если вы хотите что бы скрипт был в контенте, для уменьшения количества запросов
source = [
[ 'file' => '/js/jquery.js' ],
[ 'file' => '/js/app.js' ]
]
}
<script type="text/javascript">
var word = 'problem', index, data = {}, result = [];
// Собираем данные с дата аттрибутов
$('div').each(function(i){
data[$(this).data('index')] = $(this).data('letter')
});
// Цикл по слову
for(index in word)
{
console.log(data[word[index]]);
result.push(data[word[index]]);
}
console.log(result); // profit!
</script>
$('body').on('submit', '#login-form', function(e) {
e.preventDefault();
var error = false,
$form = $(this),
$email = $('input[name="email"]'),
$login = $('input[name="login"]');
// Вначале надо проверить на пустоту поля, что бы не делать лишний запрос
if ($('input[name="login"]').is(':empty'))
{
$login.addClass('error');
error = true;
}
if ($email.is(':empty'))
{
$email.addClass('error');
error = true;
}
if (!error)
{
$form.find('.error').removeClass('error'); // если подсвечиваете поля с ошибками, при повторном запросе надо убрать отметку
$.ajax({
url: '/api/login/',
type: 'post',
data: $form.serialize(),
dataType: 'JSON',
success: function(data)
{
if (!data.errors)
{
// Поздравляем с успешной регистрацией
}
else
{
// Выдача сообщения об ошибке
}
}
});
}
return false;
});