Значение scrollTop не меняется - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь изменить значение 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)
  }
}

Этокак выглядит консоль

...