Я пытаюсь изменить значение scrollTop для элемента при нажатии клавиши, но каждый раз, когда он возвращает 0. Это методы, используемые для выполнения операций:
autocompleteUp: function (autocompleteList) {
if (this.current > 1) {
this.current--
this.select(this.node[this.current])
}
}
select: function (el) {
let index = [].indexOf.call(this.node, el)
if (index === -1) return
this.current = index
console.log(this.id.scrollTop)
let elHeight = el.scrollHeight
let scrollTop = this.id.scrollTop
let viewport = scrollTop + this.id.scrollHeight
let elOffset = elHeight * this.current
console.log('select', this.current, ' height', elHeight, ' viewport', viewport, ' elOffset', elOffset, ' scrollTop', scrollTop)
if (elOffset < scrollTop || (elOffset + elHeight) > viewport) {
// console.log(document.body.scrollTop)
// document.documentElement.scrollTop = elOffset
console.log(this.id.scrollTop)
this.id.scrollTop = elOffset
console.log(this.id.scrollTop)
}
}
Этокак выглядит консоль