У меня есть большой массив элементов, которые я отображаю с помощью шаблонов jQuery. Я хочу отображать 50 или около того за раз и показывать больше, когда пользователь прокручивает страницу вниз. Я пытаюсь найти правильную логику работы с полосой прокрутки. Я делаю что-то вроде этого, но прокрутка все еще немного шаткая:
var listItems = this.buildItemList(this.list, regex);
var renderItems = this.renderItems;
renderItems(listItems, wrapper, 50);
wrapper.scroll(function() {
// This works, but doesn't work quite right. Looks a bit wonky.
if (wrapper.scrollTop() > .5 * wrapper.children().length * wrapper.children().first().outerHeight())
{
renderItems(listItems, wrapper, 30);
}
});
Просмотрите этот jsFiddle, который я написал, это отличный пример того, что мне нужно.
Вот что у меня не работает. Я хочу, чтобы элементы добавлялись, когда вы прошли около 80% списка, однако с моей логикой это происходит в разные моменты в зависимости от количества элементов в списке и между браузерами.
1 ответ
Что-то похожее на альбом Imgur? Если вы посмотрите на их код, у них есть функция под названием _levelReached
что, вероятно, похоже на то, что вы хотите.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.