#javascript #angular #typescript #ionic3
#javascript #угловой #typescript #ionic3
Вопрос:
Я использую scrollIntoView()
для перехода к выбранному входу. Но я установил для него значение top, поэтому я хотел бы указать смещение для этого метода.
Но, похоже, это не работает, я также проверил метод scrollTo и сделал это следующим образом:
this.keyboard.onKeyboardShow().subscribe(() => {
console.log('document.activeElement!!!!', document.activeElement)
// document.activeElement.scrollIntoView(true);
const top = document.activeElement.getBoundingClientRect().top window.scrollY;
console.log(top);
window.scroll(0, top)
window.scrollTo({
top: top,
behavior: 'smooth'
});
// document.activeElement.scrollTo(0, 10);
window.scrollBy(-100, 0);
});
Но это больше не приведет к прокрутке до этого элемента. Может ли кто-нибудь помочь мне установить смещение на scrollIntoView()
Комментарии:
1. Я в замешательстве, что именно вы пытаетесь сделать. Вы хотите прокручивать над элементом или под ним?
2. @ChrisSandvik перейдите к document.activeElement со смещением выше.
document.activeElement.scrollIntoView(true);
это работает, но с помощью этого метода я не могу дать никакого смещения.3. Есть ли вообще прокрутка, когда вы используете
window.scrollTo
? потому что используемое вами смещение, вероятно, должно быть отрицательным4. Нет, вообще не прокручивается, и console.log (вверху) регистрирует меня
436.5238037109375
Я также пробовал this.content с viewchild (содержимое)5. может быть, попробуйте установить
left: 0
в настройках для scrollTo