scrolltop功能无法正确聚焦元素

时间:2011-10-19 06:43:05

标签: jquery

我正在使用一个函数来专注于div的内容,我使用了这个函数,但是点击了内容没有正确聚焦。当我点击第三个链接时,它专注于第二个,以及第四个聚焦第三个内容......它有效地运行...任何想法?

我的代码是:

$(function(){
        $('#navi a').click(function(e){
            e.preventDefault(); 
            move($(this).attr("href")); 
        })

        function move(id){
            $('#content').animate({scrollTop:$(id).offset().top},'slow');
        }
    })

当我发出警报并获得偏移量()。顶部时,它每次都显示错误的值。 我从'a'的href中取出了id。感谢

3 个答案:

答案 0 :(得分:1)

好的...所以你希望#content滚动到一个子节点,但是你正在使用基于窗口的元素offset。试试这个:

$('#content').animate({scrollTop:$(id).position().top},'slow');

或者你想滚动窗口?

$('html, body').animate({scrollTop:$(id).offset().top},'slow');

如果这些都不适合您,请发布som html。

答案 1 :(得分:0)

除非您的href不包含“#”,否则请尝试:

$('#content').animate({scrollTop:$("#"+ id).offset().top},'slow');

答案 2 :(得分:0)

嗯,这不是高度问题吗?试试这个:

$('#content').animate({scrollTop:$(id).offset().top+$(id).height()},'slow');