JavaScript scrollIntoView



我对scrollIntoView的工作方式有疑问,那么为什么要scrollIntoView像这样工作:

liItems.forEach(val => {
val.addEventListener('click', e => {
e.preventDefault(); 
document.querySelector(val.getAttribute('href')).scrollIntoView({
...
})
})
})

但不是这样工作的:

liItems.forEach(val => {
val.addEventListener('click', e => {
e.preventDefault(); 
val.getAttribute('href').scrollIntoView({
...
})
})
})

scrollIntoViewElements上的一种方法。

querySelector返回一个Element。 这就是第一个示例起作用的原因:

const elem = document.querySelector(val.getAttribute('href')); // this is an Element
elem.scrollIntoView(); // OK!

然而,getAttributeElement上返回string的方法:

const someHref = val.getAttribute('href'); // this is a string
someHref.scrollIntoView(); // error :( strings don't have scrollIntoView

相关内容

  • 没有找到相关文章

最新更新