С hover пашет, со scroll - нет((

djdiplomat
На сайте с 05.08.2009
Offline
136
547

Скрипт бесконечной прокрутки страницы.

Если пользователь наводит на ссылку с id=qaz (т.е. в скрипте активна строка $("#qaz").hover(function(){ посты постепенно после каждого наведения подгружаются.

На стоит только поменять $("#qaz").hover(function(){ на $(window).scroll(function(){ - трындец.

После каждого пролистывания вниз страницы скрипт упорно подгружает одни и те же 5 постов. Хотя я тупо меняю одну строку! Все остальное неизменно.

<script type="text/javascript">

(function($){

var priryv11 = <?php echo $priryv1; ?>;

var priryv22 = <?php $priryv2=$priryv2+5; echo $priryv2; ?>;

alert (priryv11+' - '+priryv22);

// $(window).scroll(function(){
$("#qaz").hover(function(){

var bottomOffset = 3000;

var currenVybor2 = "proshedshie";

if( $(document).scrollTop() > ($(document).height() - bottomOffset) && !$('body').hasClass('loading')){

$("#qaz")

.empty();

$('body').addClass('loading');

// alert ('Добавлен лоадинг');

$.post(

"<?php bloginfo('template_url') ?>/scripts/archive_getter.php",

{

kakie : currenVybor2,

priryv1 : priryv11,

priryv2 : priryv22

},

function(data) {

$("#qaz").remove();

$("#archive_pot").append(data);

$('body').removeClass('loading');

}

);

};

});

})(jQuery)

</script>

Polkan
На сайте с 28.09.2005
Offline
102
#1

Что-то сомневаюсь, что загрузка по $(window).scroll хорошая идея.

Он же будет куда чаще срабатывать чем вы, вероятно предполагаете.

Но если отвлечься от этого, то выведите переменные в кончоль и смотрите на из изменение по .scroll, найдете что не так.

Кроме того можно попробовать триггером вызывать событие hover на #qaz при $(window).scroll http://api.jquery.com/trigger/

WordPress-плагин для Apishops (http://p-api-shop.ru/) P-API-Shop WooCommerce-плагин для Apishops (http://woo-apishops.ru/) Woo-Apishops
djdiplomat
На сайте с 05.08.2009
Offline
136
#2

А если не $(window).scroll то как?

Просто я тут сколько примеров в интернете про "бесконечную загрузку постов" читал, везде именно $(window).scroll применяют.

Т.е. моя задача какая. У меня в массиве посты. Мне нужно вывел 5 постов. Потом чел пролистал вниз, еще 5 вылезло и тд, пока посты не кончатся

PS, а вообще вы гений!

...

$(window).scroll(function(){

if( $(document).scrollTop() > ($(document).height() - bottomOffset) && !$('body').hasClass('loading')){

$( "#qaz" ).trigger( "click" );

}

})

$("#qaz").hover(function(){

...

И проблема решилась! СПАСИБО! Хотя почем проблема была, я так и не понял((

Но вопрос прежний А если не $(window).scroll то как? (это я уже чисто для общего развития спрашиваю)

Polkan
На сайте с 28.09.2005
Offline
102
#3
djdiplomat:

Но вопрос прежний А если не $(window).scroll то как? (это я уже чисто для общего развития спрашиваю)

Да я не против $(window).scroll, просто в том первом виде оно выглядело "не очень". А так как вы сделали (с проверкой) вполне вариант.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий