Javascript 滚动到不带jQuery的活动手风琴面板

Javascript 滚动到不带jQuery的活动手风琴面板,javascript,html,accordion,Javascript,Html,Accordion,情况: 我在一个由地图和侧边栏组成的web应用程序上工作。在侧边栏中,手风琴有20个面板。当用户在地图上选择一个点时,相关的手风琴面板打开 问题: 当用户选择一个点时,不仅面板应该打开,而且应该滚动到激活的面板 我已经尝试过的: 我已经搜索了几个小时的解决方案,但是建议的解决方案要么与jQuery(我无法使用)配合使用,要么基于html元素ID的不同滚动选项,如document.getElementById('ID').scrollIntoView()我不能使用它,因为面板是带有类的div元素,

情况: 我在一个由地图和侧边栏组成的web应用程序上工作。在侧边栏中,手风琴有20个面板。当用户在地图上选择一个点时,相关的手风琴面板打开

问题: 当用户选择一个点时,不仅面板应该打开,而且应该滚动到激活的面板

我已经尝试过的: 我已经搜索了几个小时的解决方案,但是建议的解决方案要么与jQuery(我无法使用)配合使用,要么基于html元素ID的不同滚动选项,如
document.getElementById('ID').scrollIntoView()我不能使用它,因为面板是带有类的div元素,而不是id属性。我尝试对document.getElementsByCassName()使用scrollIntoView()选项,但没有成功

代码: 我处理html、css和JavaScript代码,不使用jQuery。我实现的accordion位于一个带有id(“description”)的div中,accordion本身由标题
和面板

问题:
你知道我如何滚动到一个特定的div元素(来自20个div元素,它们都属于同一个类,但可以通过它们的特定ID/编号(不是html ID属性)进行寻址)吗?

我假设你有一个类,该类声明哪个accordion面板处于活动状态。如果这是真的,那么这个解决方案应该有效。否则,发布一些您拥有的HTML

要获取所需元素,应使用,它接受多个类:

document.getElementsByClassName('accordion-panel active')
如果您确定这些元素中只有一个,则应该能够执行以下操作:

document.getElementsByClassName('accordion-panel active')[0].scrollIntoView()

非常感谢,这就成功了!!!通过单击点的ID知道应该激活哪个面板,我可以使用document.getElementsByClassName('accordion-panel')[theID].scrollIntoView()向下滚动到它;美好的如果这个答案对你有帮助,你可以将它设置为“已接受”,这样将来它将帮助其他人!祝非jQuery编程好运,这非常棒!