我有div元素,这些元素显示在我使用箭头键导航的行中。我使用javascript检测关键代码,并突出显示了关注的元素。当相应行中的div获得焦点时,我试图将行居中于页面中间。我很难做到这一点。这是当按下向下箭头时试图将行居中的代码。我试图通过使用scrollTo
来实现此目的,即获取具有焦点的div的offsetTop
,然后将其乘以2,并考虑到div底部的30px用于填充。在到达页面底部之前,它会一直工作。然后从底部开始的第3格最终滚动到顶部
这是一个图像示例,该行的外观是左侧的div阴影为白色
var offsetPos = nextDiv.offsetTop;
var scrollCenter = offsetPos + (offsetPos * 2 - 30);
window.scrollTo(0, scrollCenter);
nextDiv.focus();