使用jquery滚动网格的内容

时间:2013-04-08 14:42:26

标签: jquery scroll

我有一个网格(表格),我想使用拖动动作滚动内容。

到目前为止我所拥有的是:

var gesturesX = 0;
    var gesturesY = 0;

    var startPosition = 0;
    var velocity = 0;
    var isMouseDown = false;

    var timer;

    function GetVelocity() {
        velocity = startPosition - gesturesY;
    }

    $('.k-grid-content').mousemove(function (e) {
        gesturesX = parseInt(e.pageX, 10);
        gesturesY = parseInt(e.pageY, 10);
        $("#mouse").html(gesturesY);
        if (isMouseDown) {
            $('.k-grid-content').scrollTop(startPosition - gesturesY);
            return false;
        }
    });

    $('.k-grid-content').mousedown(function () {
        startPosition = gesturesY;
        isMouseDown = true;
        timer = window.setTimeout(GetVelocity, 50);
    });

    $('.k-grid-content').mouseup(function () {
        isMouseDown = false;
        return false;
    });

有了这个,我可以滚动拖动。但我的问题是,例如,如果我滚动到网格的中间,停止,并在返回滚动开始在我离开的同一点,它重新开始,它从表的顶部开始...是可以理解的是什么我的意思是?

我想继续在同一点......但我没有看到我应该怎么做......

1 个答案:

答案 0 :(得分:1)

这是因为您的startPosition总是从元素顶部计算出来;你需要在开始时考虑滚动状态。

mousedown事件中:

startPosition = gesturesY + $(this).scrollTop();
相关问题