想要在加载后滚动到某个位置,但在短暂的停留后它会自动滚动回顶部(JQUERY,JQUERY-MOBILE)

Want to Scroll to a position after loading but after a short stint it automatically scrolls back to the top (JQUERY,JQUERY-MOBILE)

我使用 SYMFONY 3 和 JQUERY 1.11.1 + JQUERY 移动版 1.4.2

在我有一个 table 的页面上,table 的每一行都可以扩展(包含关于该行的表格),当我打开一行时,页面会通过 SYMFONY 再次生成控制器。

在我的 TWIG 文件底部,我添加了一个带有 $(document).ready(...) 的标签。我想通过 JQUERY(或 JS)操纵 SCROLL 以到达我打开的行的位置。

我看到可以这样做:

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

或者那样:

$(document).scrollTop($('#myRowId').offset().top));

它会在短时间内起作用,然后 SCROLL 会自动回到顶部(y 位置:0),没有任何解释(据我所知)。

我设法通过使用 setTimeout 解决了问题,例如:

 setTimeout(function({$(document).scrollTop($('#myRowId').offset().top);},5000);

但这不是很好,我更想知道哪个事件是由 JQUERY 或 JQUERY MOBILE 在将 SCROLL 设置回顶部的幕后触发的。

有人知道吗?

这是 onload 事件的解决方案:

$(window).load({'rowId':'#'+rowRootId+'_id'},function(event){
     $('body').animate({scrollTop: $(event.data.rowId).offset().top + 'px'}, "normal");
})