Почему не изменяется scroll?

198
02 октября 2018, 19:20

Всем привет. При загрузке страницы, scroll должен сразу же сам изменять свое положение на 500px от top'a. Почему не работает?

mounted(){
    window.scrollY = 500;
},

Отредактировано:

Answer 1

То, что у Вас список рендерится через v-for никак не влияет, в этом есть смысл nextTick, что "любые" действия будут выполнены после следующего обновления DOM.

data() {
    return {
        list: []
    };
},
async created() {
    // Получаете Ваш список с API
    this.$data.list = await makeApiCall().getList();
    // Дожидаемся следующего `DOM update`
    await this.$nextTick();
    // Прокручиваем документ с указанными координатами
    scrollTo(0, 500);
}

Можно и без async + await:

data() {
    return {
        list: []
    };
},
created() {
    makeApiCall().then((list) => {
        this.$data.list = list;
        this.$nextTick().then(() => {
            scrollTo(0, 500);
        });
    });
}
Answer 2

scrollY — свойство только для чтения. Используй window.scrollTo(0, 500); Функция выполняет то же, что и window.scroll

Если нужна гарантия что все элементы отрисовались то используй

mounted () {
    this.$nextTick(() => window.scroll(0, 500))
},
READ ALSO
Интересная галерея с кареткой

Интересная галерея с кареткой

Нашел интересную галерею

161
Jquery modal gallery не работают две колонки

Jquery modal gallery не работают две колонки

Всем добрый деньСтолкнулся такой проблемой

174
стрелочные функции [дубликат]

стрелочные функции [дубликат]

На данный вопрос уже ответили:

235
Порядок загрузки скрипта в JS

Порядок загрузки скрипта в JS

Почитал уже несколько подобных тем и официальную документацию и все равно не понялЕсть вот такой код

148