【问题标题】:scrolltop function not focusing the element correctlyscrolltop 功能没有正确聚焦元素
【发布时间】:2011-10-19 06:43:05
【问题描述】:

我正在使用一个函数来聚焦 div 的内容,我使用了这个函数,但是 onclick 内容没有正确聚焦。当我点击第三个链接时,它关注第二个,以及第四个关注第三个内容......它的工作有问题..有什么想法吗?

我的代码是:

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

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

当我提醒并获取 offset().top 时,它每次都显示错误的值.. 我从'a'的href中获取id。谢谢

【问题讨论】:

  • 请张贴相关的HTML。如果可以,请创建一个 jsfiddle 来说明您遇到的问题。

标签: jquery


【解决方案1】:

好的...所以您希望#content 滚动到一个孩子,但您使用的是基于窗口的元素偏移量。试试这个:

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

或者你想滚动窗口?

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

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

【讨论】:

  • 对不起,我实现了一个插件。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多