我的长ul元素充满了李。启用水平滚动,因此同时只能看到少量<li>
。
<ul id="longScrollableDiv">
<li><a href="centerMe()">CenterMe</a></li>
<li><a href="centerMe()">CenterMe</a></li>
<li><a href="centerMe()">CenterMe</a></li>
<li><a href="centerMe()">CenterMe</a></li>
</ul>
我希望centerMe()在div的当前可见区域中选中,因此如果可能,所选的a将位于视图的中心。
我怎么能得到这个? scrollIntoView()
不是元素的中心。如果可能的话,我不喜欢jQuery方法。
答案 0 :(得分:0)
您必须为所有类似
的列表项添加onclick处理程序target.parentNode.scrollTop = (target.offsetTop - target.parentNode.offsetTop) -
Math.round(target.parentNode.offsetHeight/2) + Math.round(target.offsetHeight/2) ;
工作示例为here