#javascript
Вопрос:
Я пробовал настраивать behavior: 'instant'
scrollIntoView
параметры, но это не сработало, а также preventScroll: false
для focus
параметров, но он по-прежнему плавно прокручивается, чтобы добраться до элемента
на этой странице https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus в последнем фрагменте кода он ведет себя так, как я хочу, он мгновенно фокусируется на элементе, без анимации прокрутки, но для меня он всегда прокручивается плавно, пока не достигнет элемента, как я могу отключить эту анимацию прокрутки?
// Show next page
function showNextPage() {
let currPage = parseInt(pageCounter.textContent);
let target = document.querySelector(`[data-page="${currPage 1}"]`);
target.focus({ preventScroll: false }); // DIDN"T WORK
}
// Show next page
function showNextPage() {
let currPage = parseInt(pageCounter.textContent);
let target = document.querySelector(`[data-page="${currPage 1}"]`);
target.scrollIntoView({ behavior: 'instant' }); // DIDN"T WORK
}
Ответ №1:
scrollIntoView
без параметра должна прокручиваться мгновенно.
function showNextPage() {
let currPage = parseInt(pageCounter.textContent);
let target = document.querySelector(`[data-page="${currPage 1}"]`);
target.scrollIntoView();
}
Кроме того, вы должны удалить scroll-behavior: smooth
, если они есть в CSS вашего элемента. Это также может привести к плавной прокрутке.
Комментарии:
1. Это должно быть, но в моем случае это не так, поэтому я добавил параметр поведения
2. @SMH у вас есть
scroll-behavior: smooth
CSS для элемента body? Если вы это сделаете, это также может привести к плавной прокрутке3. У меня нет никакого поведения прокрутки в моем CSS, но я только что прокомментировал ссылку bootstrap, и похоже, что это исправлено: s, хотя мне нужен bootstrap, как я могу это отключить?
4. о, неважно, мне пришлось добавить
!important
в свое поведение прокрутки, чтобы переопределить его, теперь это исправлено5. Отлично, тогда я обновлю свой ответ