删除更新其他元素的滚动事件上的元素的scrolltop / scrollleft的延迟

时间:2016-01-05 13:24:38

标签: javascript jquery scroll webview scrolltop

我想创建一个第一行和第一行的表格。第一栏固定。为此,我提到了this link。它在桌面浏览器视图中工作正常,但是我想为webview创建这个表,同时更新row&amp ;;的滚动顶部。列标题与其弹出的表内容相关,即更新滚动顶/滚动时有延迟。

这可能是因为在计算源元素的scrolltop / scrollleft然后将这些值更新为目标元素(reflow& repaint概念)时会有延迟。

我希望尽可能消除此延迟或将其最小化,因为它会妨碍webview中的性能。

我尝试过使用throttle-debounce.js但仍然一样。

这是HTML

<div id="container">
    <div id="upperCorner"></div>
    <div id="columnHeader">....</div>
    <div id="rowHeader">....</div>
    <div id="mainContent">.....</div>
</div>

这里的剧本

$(function(){
var $$ = {//cache of jQuery objects
    content: $("#mainContent"),
    months: $("#columnHeader"),
    status: $("#rowHeader"),
};
    $$.content.scroll(function() {
        $$.status.scrollTop($$.content.scrollTop());
        $$.months.scrollLeft($$.content.scrollLeft());
    });

    $$.months.scroll(function() {
        $$.content.scrollLeft($$.months.scrollLeft());
    } );

    $$.vaccine.scroll( function() {
        $$.content.scrollTop($$.status.scrollTop());
    });

    $(document).scroll(function() {
        event.stopPropagation();
    });
});

感谢任何直接的帮助。

1 个答案:

答案 0 :(得分:0)

如果要更改动画速度,可以使用animate函数而不是scrollTop。

$("#element").animate({ "top": 100+"px" }, 1000)

要一起删除动画/延迟,您可以使用

$("#element").css("top", position+"px")