【问题标题】:jquery scrollto not scrolling to correct elementjquery scrollto 不滚动到正确的元素
【发布时间】:2015-03-11 06:38:05
【问题描述】:

我有一个将overflow-y 设置为auto 的div 元素。现在我有一堆元素的类为highlight1。我想在 classhighlight1 的元素上来回滚动。

由于某种原因,jquery scrollTo 无法正常工作。这是我尝试使用的语法:

$('#highlightDiv').animate({
     scrollTop: $("#"+elementId).offset().top + 'px'
}, 'fast');

这是我想要完成的Jsfiddle。有人可以解释为什么滚动没有移动到正确的元素。

【问题讨论】:

    标签: javascript jquery html scrolltop scrollto


    【解决方案1】:

    我的回答很简单,您的脚本不知道您正在滚动的 div 的滚动高度和位置,您应该向它添加两个值,它应该可以工作

    scrollTop 函数 scrollToNextHighlight() 应该如下所示

    scrollTop: ($('#highlightDiv').scrollTop() - 
    $('#highlightDiv').offset().top)
    + $("#"+elementId).offset().top + 'px'
    

    然后它应该可以工作

    【讨论】:

    • 你能解释一下为什么要添加这个:$('#highlightDiv').scrollTop() - $('#highlightDiv').offset().top
    • this ($('#highlightDiv').scrollTop() - $('#highlightDiv').offset().top) 计算从 div #highlightDiv 顶部滚动的位置,因为您添加只有元素滚动的位置将从正文顶部开始计算
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    相关资源
    最近更新 更多