Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.12.2013, 15:41
Аспирант
Отправить личное сообщение для Simones Посмотреть профиль Найти все сообщения от Simones
 
Регистрация: 13.02.2013
Сообщений: 32

Бесконечная прокрутка
Приветствую Вас !
Столкнулся с такой проблемой, что при функциях
$(document).scroll(function () {

//Здесь условие выполнения - скролл = 0.
//Подгрузка следующей страницы

});


или

setInterval(function () {

//Здесь условие выполнения - скролл = 0.
//Подгрузка следующей страницы

}, 500); //1000, 100 - одинаково


действие "подгрузки" выполняется неоднократно (2, иногда 3-4 раза) причем с интервалом в ~10-20ms, даже если интервал > 500.
Подскажите, пожалуйста, в какую сторону "копать", чтобы подгружало только один раз ?
Ответить с цитированием
  #2 (permalink)  
Старый 07.12.2013, 16:31
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Simones, может просто сделать булевую переменную которую делать true если начата загрузка и по окончанию загрузки делать ее false?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #3 (permalink)  
Старый 07.12.2013, 16:43
Аспирант
Отправить личное сообщение для Simones Посмотреть профиль Найти все сообщения от Simones
 
Регистрация: 13.02.2013
Сообщений: 32

Я уже по-разному "извращался": и делал переменную true\false загрузки, и цикличное обращение к ф-и через setTimeout (методом рекурсии, кажется), но результат тот же.

Я дошел до того, что нужно как-то сделать прерывания: т.е. следующее событие выполнение подгрузки при скролле 0 должно выполнятся ч-з N-нный интервал, но реализовать это я так и не смог...
Но если сделать под функции, то получается вообще "порнография" и повтор уже не несколько раз, а около 8-10.
$(document).scroll(function () {
   setInterval(function () {
//Действие
   },500);
)};
Ответить с цитированием
  #4 (permalink)  
Старый 07.12.2013, 17:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Работай в направлении первого варианта. Ни setTimeout, ни уж тем более setInterval тебе не нужны.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 07.12.2013, 23:50
Аспирант
Отправить личное сообщение для Simones Посмотреть профиль Найти все сообщения от Simones
 
Регистрация: 13.02.2013
Сообщений: 32

Всем спасибо ! Решил с помощью булевой переменной и таймаута. Уверен, что кому-то пригодится:
var load = false;
$(document).scroll(function () {
if(load == false) {
load = true;
  setTimeout(function () {
    load = false;
  }, 500);
}
});
Ответить с цитированием
  #6 (permalink)  
Старый 08.12.2013, 00:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А почему блокируешь именно на пол секунды? Разве по логике не до момента завершения подгрузки нужно? Ну и положение прокрутки я думаю ты тоже проверяешь, верно?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 08.12.2013, 01:07
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

danik.js, потому что походу тестирует на локальном хосте)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическая прокрутка дива вниз progi2007 Общие вопросы Javascript 16 16.04.2014 23:15
Прокрутка div вместо страницы Simones jQuery 1 23.06.2013 07:41
Чудесная горизонтальная прокрутка alfavit Элементы интерфейса 0 23.03.2013 08:59
Прокрутка баннеров по времени TTongorovortoto Работа 3 22.04.2011 13:35
прокрутка изображений RGun jQuery 3 08.03.2010 10:03