Javascript 可滚动区域内的定心元件

Javascript 可滚动区域内的定心元件,javascript,Javascript,我有很长一段时间充满了李。水平滚动已启用,因此在同一时间只有很少的可见 <ul id="longScrollableDiv"> <li><a href="centerMe()">CenterMe</a></li> <li><a href="centerMe()">CenterMe</a></li> <li><a href="centerMe()">

我有很长一段时间充满了李。水平滚动已启用,因此在同一时间只有很少的
  • 可见

    <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将位于视图的中心。
    我怎样才能得到这个<代码>滚动视图()不会将元素居中。如果可能的话,我不希望使用jQuery方法

    您必须为所有执行类似操作的列表项添加onclick处理程序

    target.parentNode.scrollTop = (target.offsetTop - target.parentNode.offsetTop) -
    Math.round(target.parentNode.offsetHeight/2) + Math.round(target.offsetHeight/2) ;
    

    工作示例为

    ,特别针对ie7和ie6,必须将代码修改为(它仅在i6和ie7中正常工作)