使用HTML5属性draggable =“true”允许页面滚动

时间:2017-02-27 17:29:43

标签: javascript jquery html5

我在我的网页上的某些div上使用了HTML5属性draggable="true"。我想要它,这样当你将其中一个项目拖到页面底部时,它会向下滚动页面,当你将它拖到顶部时,它会向上滚动页面。

在Chrome 上,当我拖到底部时,它会自动向下滚动,但不会向上滚动。在Firefox上,它不会自动让我向任一方向滚动。有帮助吗?

请参阅以下代码:

var stop = true;
$(".draggable").on("drag", function (e) {

    stop = true;

    if (e.originalEvent.clientY < 150) {
        stop = false;
        scroll(-1)
    }

    if (e.originalEvent.clientY > ($(window).height() - 150)) {
        stop = false;
        scroll(1)
    }

});

$(".draggable").on("dragend", function (e) {
     stop = true;
});

var scroll = function (step) {
    var scrollY = $(window).scrollTop();
    $(window).scrollTop(scrollY + step);
    if (!stop) {
        setTimeout(function () { scroll(step) }, 20);
    }
}

0 个答案:

没有答案