Как поставить условие?

155
04 октября 2018, 17:30

Всем привет. Делаю вот бесконечную прокрутку(ajax прокрутку) на vue. Запрос к серверу сделал, а вот поставить условие, чтоб этот скрипт срабатывал когда пользователь прокручивал scroll на 1000px от низа страницы не могу... Помогите, как это условие составить?

Answer 1

Предположим, что изначальная высота документа с отступами и невидимым контентом - 1000(px), scrollY - число пикселей, на которое в данный момент документ пролистали, innerHeight - начальная высота окна без отступов (значение не меняется):

export default {
    data() {
        return {
            list: [],
            onScroll: () => {
                const { scrollHeight } = document.documentElement;
                const { scrollY, innerHeight } = window;
                if (scrollY + innerHeight !== scrollHeight) {
                    return;
                }
                axios.get('/api/some-endpoint').then((res) => {
                    this.$data.list.push(res.data);
                });
            }
        };
    },
    created() {
        window.addEventListener('scroll', this.$data.onScroll);
    },
    beforeDestroy() {
        window.removeEventListener('scroll', this.$data.onScroll);
    }
}
READ ALSO
Массивы. Круговой обход

Массивы. Круговой обход

Как можно реализовать перебор массива по кругу? Допустим у меня есть массив из 3х элементов, и я нахожу минимальную сумму 2х подряд идущихТ

162
Как по нажатию кнопки заменить элемент с новой информацией на jQuery?

Как по нажатию кнопки заменить элемент с новой информацией на jQuery?

Надо, что бы по нажатию кнопки введенная информация из правой колонки (название вверху, описание ниже) переходила в левую колонку (заметку)...

170
Vuex не работает getters

Vuex не работает getters

Перехватываю id из строки браузера и пытаюсь получить запись из массива находящегося в $store по id, в браузере в консоли ошибок нет, но геттер...

146