- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Не работает подгрузка контента на мобильниках.
var perScroll = 30;
$( window ).scroll(function() {
if ($(document).height() - $( window ).height() == $( window ).scrollTop()) {
limitVal+=perScroll;
$("#limit").val(limitVal);
updateEmployees();
}
});
И запрос ajax
success: function(records){
if (limitVal==30)
$('#employees tbody').html(makeTable(records));
else
$('#employees tbody').append(makeTable(records));
}
Докручиваю также как и через десктоп до самого низа, а новый контент не подгружается.
Искал похожие примеры, но так как в js не особо, то не смог сопоставить найденное со своим кодом.
Прошу помощи.
Никто не знает?
телепатов нет. код бы весь выложили
попробуйте так
if ($(document).height() - $( window ).height() <= $( window ).scrollTop())
попробуйте так
if ($(document).height() - $( window ).height() <= $( window ).scrollTop())
Афигеть. Вы монстр.
На телефоне заработало, только если со скоростью света скрол прокручивать. Если медленно, то нет.
Сложно что-то сказать не видя картины в целом. Просто тот ответ был самым очевидным.
Можете скинуть ссылку на эту страницу в личку. Будет время - посмотрю.
Сложно что-то сказать не видя картины в целом. Просто тот ответ был самым очевидным.
Можете скинуть ссылку на эту страницу в личку. Будет время - посмотрю.
blogcode.ru
В личку кидать не стал, чтоб не докучать лишний раз.
И узрел он код. И содрогнулся он. И наполнилось его сердце скорбью.
Потестил на мобиле в хроме. Проблема в следующем: на мобиле $(document).height() вычисляется мягко говоря странно. Причем, в горизонтальном и вертикальном положении устройства, в одном и том же браузере, цифры сильно разные.
Если в двух словах, то $( window ).scrollTop() на мобиле значительно меньше $(document).height() - $( window ).height().
В данном конкретном случае можно закостылить так: if ($(document).height() - $( window ).height() - 200 <= $( window ).scrollTop()), и будет работать. Но и в десктопе запрос к серверу будет срабатывать чуть раньше, хотя пользователь разницы и не заметит.
Однако мое имхо, если оно Вам интересно, то это мягко говоря неправильный подход. Зачем дергать каждый раз сервер? При большом количестве записей в БД, ответ будет приходить достаточно долго, плюс это нагрузка на сервер. Я бы с сервера отдавал все данные сразу, а на стороне клиента уже сделал все свистелки, перделки и сортировки с подгрузками. В Вашем случае могла бы подойти библиотека jqueryDataTables. Понятно, что из коробки она работает иначе, но при помощи небольшого напилинга, функционал вполне можно сделать аналогичным Вашему. При этом вся работа будет переложена на сторону клиента.
И узрел он код. И содрогнулся он. И наполнилось его сердце скорбью.
Потестил на мобиле в хроме. Проблема в следующем: на мобиле $(document).height() вычисляется мягко говоря странно. Причем, в горизонтальном и вертикальном положении устройства, в одном и том же браузере, цифры сильно разные.
Если в двух словах, то $( window ).scrollTop() на мобиле значительно меньше $(document).height() - $( window ).height().
В данном конкретном случае можно закостылить так: if ($(document).height() - $( window ).height() - 200 <= $( window ).scrollTop()), и будет работать. Но и в десктопе запрос к серверу будет срабатывать чуть раньше, хотя пользователь разницы и не заметит.
Однако мое имхо, если оно Вам интересно, то это мягко говоря неправильный подход. Зачем дергать каждый раз сервер? При большом количестве записей в БД, ответ будет приходить достаточно долго, плюс это нагрузка на сервер. Я бы с сервера отдавал все данные сразу, а на стороне клиента уже сделал все свистелки, перделки и сортировки с подгрузками. В Вашем случае могла бы подойти библиотека jqueryDataTables. Понятно, что из коробки она работает иначе, но при помощи небольшого напилинга, функционал вполне можно сделать аналогичным Вашему. При этом вся работа будет переложена на сторону клиента.
А если записей например миллион. Он весь этот миллион загрузит и будет обрабатывать на стороне клиента?
В данном конкретном случае можно закостылить так: if ($(document).height() - $( window ).height() - 200 <= $( window ).scrollTop()), и будет работать. Но и в десктопе запрос к серверу будет срабатывать чуть раньше, хотя пользователь разницы и не заметит.
Открывается не по 30, а сразу всю выборку.