Оптимизируйте производительность страницы вместо использования события прокрутки javascript
У меня есть веб-страница с длинной прокруткой и множеством div-элементов. Каждый элемент div содержит различные разделы страницы.
Для повышения производительности, то есть для сокращения времени загрузки страницы, я загружаю только первые два элемента div с данными во время загрузки страницы.
Для заполнения остальных элементов div данными я использую событие прокрутки JavaScript. Всякий раз, когда пользователь прокручивает за пределы div с данными, я динамически заполняю следующие данные div с помощью ajax.
Пожалуйста, обратитесь к образцу кода :-
Что я уже пробовал:
var div3 = 1; var div4 = 1; $(window).scroll(function () { var scrltp = $(window).scrollTop(); if ((scrltp) > $("#div2").offset().top) { if (div3 == 1) { div3 = 0; $("#dv3").load("PageUrl"); //Action Method url } } if ((scrltp) > $("#dv3").offset().top) { if (div4 == 1) { div4 = 0; $("#dv4").load("PageUrl"); } } .......... .......... }
Есть ли лучший способ оптимизировать производительность страницы вместо использования события прокрутки?
MadMyche
Вот вопрос для вас: если бы существовал лучший общий метод, чем этот, разве Facebook и другие не использовали бы их?
0x01AA
Я совершенно не разбираюсь в этом, но у меня есть вопрос. Разве это плохая идея-позволить фоновому потоку читать следующие страницы и не ждать события прокрутки (и возможно ли это)?
Заранее спасибо.
MadMyche
Я не эксперт по JS, поэтому не могу сказать вам утвердительно. Я действительно знаю, что плохо написанный JS может сильно замедлить работу пользователя.
Но ваши мысли похожи на мои; сделайте начальную загрузку, а после того, как все будет загружено, загрузите данные для следующих "чиунков"
0x01AA
Большое вам спасибо за вашу оценку.