javascript - 当所选元素不可见时,滚动条不会滚动

标签 javascript jquery html css scroll

我们在无序列表中有许多列表项,我们一次可以看到其中五个。当前选定的列表项有自己的类(“selected”),当我们向上或向下单击时,下一个列表项将获得“selected”类,而前一个列表项会丢失它。我们如何做到当带有“selected”类的列表项走出ul的可视区域时,滚动条也会随着“selected”项滚动呢?

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

编辑问题可以在这里看到:http://jsfiddle.net/E7MSN/63/ 单击文本框上的 Enter,将出现一个下拉列表。然后使用键盘上/下箭头继续前进,直到超出界限。请注意,滚动不跟随“选定”元素。

最佳答案

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

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

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

Updated jsFiddle

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

关于javascript - 当所选元素不可见时,滚动条不会滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11403231/

相关文章:

javascript - 加载事件 jQuery,我可以附加它吗

javascript - 我的元素显示在不同窗口大小的不同位置。如何定位?

php - 如何使用 PHP 检查文本区域的值中是否包含 HTML?

html - 具有相同类的两个元素在 Firefox 中看起来不同

javascript - Jquery 如何在按钮单击后删除并添加一个类,并在其他函数之前延迟时间

javascript - 在 anchor 元素上 react 传递事件和参数

javascript - Bootstrap 4 下拉菜单不起作用

javascript - JS/CSS 覆盖 : how to differentiate 2 buttons on same page?

javascript - Bootstrap 两个响应式菜单 - 单击另一个菜单按钮时折叠一个菜单

javascript - python flask : How to handle send_file on the client side