$(window).scrollTop(..)无法正常工作以将元素放在顶部

时间:2017-09-18 14:18:04

标签: jquery

JSFiddle:https://jsfiddle.net/Lukeu3f8/9/

在这个例子中,我有一个带有A-links的长列表,它具有特定子项的样式menulink(在onReady中创建)。我的目标是自动滚动页面,将子链接#20 置于顶部。这将是菜单项2.14。

但是在运行小提琴时,菜单项2.1放在顶部,不是#20,它是#7。为什么呢?

$(document).ready(function() {  

    // Append an index to each sub-menu item (the actual A tag)
    $('.menuitem > a').each(function(index) {
        $(this).addClass('menulink');       
    });

    // Auto-scroll to .menulink #20 (sub-menu #20, should be 2.14)
    $(window).scrollTop($('a.menulink:eq(20)').offset().top);

});

1 个答案:

答案 0 :(得分:3)

与页面底部到达视口末端时相比,页面无法滚动得更远。使视口不那么高并重试。顺便说一下,$('a.menulink:eq(20)') 2.15 ,而不是2.14。记住计数数组索引从0开始,而不是从1开始。