滚动条获胜't在所选元素不可见时滚动

Scrollbar won't scroll when selected element is out of visibility

本文关键字:元素 滚动 获胜 滚动条      更新时间:2023-09-26

我们在一个无序列表中有许多列表项,一次可以看到五个。当前选择的列表项有自己的类("selected"),当我们向上或向下单击时,下一个列表项会获得"selected"类,而上一个列表项目会失去它。我们如何使其成为这样,当具有"select"类的列表项出现在ul的可视区域外时,滚动条也会滚动"selected"项?

它可以用鼠标很好地滚动,但当单击向上/向下按钮时,所选的类会发生变化,但不会滚动。在CSS中,ul的样式是溢出的:auto。我试过改变溢出,但对结果没有影响。

编辑问题可以在这里看到:http://jsfiddle.net/E7MSN/63/单击文本框中的enter,将出现一个下拉列表。然后使用键盘上/下箭头,继续前进,直到到达界外。请注意,滚动并没有跟随在"selected"元素之后。

使用scrollTop上下移动ul滚动位置。所以在你的情况下:

$(".services ul").scrollTop($('li').index($(".selected")) * $('.services li').height());

在上面的代码中,$('li').index($(".selected"))获取当前选择的li元素的编号。然后将该数字乘以每个li的高度。

更新的jsFiddle

你可能需要根据自己的喜好进行清理。

您尝试过style="overflow:scroll"吗?