我有一个菜单,其中包含overflow-y:scroll
个<ul>
元素。打开时,菜单应滚动到当前活动的<li>
元素,该元素由尊重的类<li>
标记。
菜单目前将被包装到其div中。当用户将鼠标悬停在某个区域时,菜单将弹出并跳转到当前活动的li元素。
<li active>
目前var ScrollToCurrentPageInMenu = function(menu) {
var posObject = $("#subnavigation").parent().find("li.active")[0].offsetTop;
console.log("posObject: " + posObject);
$("#subnavigation").parent().scrollTo(posObject);
};
是错误的。当我使用手动打开的菜单执行跳转并通过Firebug或Firefox查询时,它可以正常工作。
我尝试使用offset()。top或position()。top但它似乎需要比当前方法更多的逻辑。当当前$("#subnavigation").parent().find("li.active")[0].offsetTop;
元素未展开且scrollTop向上滚动到远处时,ScrollTo单独工作。
我知道它有点模糊,但我无法发布该项目。
所以我的问题:
答案 0 :(得分:0)
我能想到的第一个(粗略)方法是:
如果<li>
的高度固定,我会获得.active
的索引,并将top
属性设置为li_height * li_index * -1
然后将top
属性的更改设置为计算值
我确定有更好的解决方案