Javascript 使用HTML5属性draggable=";“真的”;允许页面滚动
我在网页上的一些div上使用了HTML5属性Javascript 使用HTML5属性draggable=";“真的”;允许页面滚动,javascript,jquery,html,Javascript,Jquery,Html,我在网页上的一些div上使用了HTML5属性draggable=“true”。我希望这样,当你将其中一个项目拖到页面底部时,它会向下滚动页面,当你将其拖到顶部时,它会向上滚动页面 在Chrome上,当我拖动到底部时,它会自动向下滚动,但不会向上滚动。在Firefox上,它不会自动让我向两个方向滚动。有什么帮助吗 请参阅以下代码: var stop = true; $(".draggable").on("drag", function (e) { stop = true; if
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);
}
}
var-stop=true;
$(“.draggable”)。关于(“拖动”,函数(e){
停止=真;
if(例如,originalEvent.clientY<150){
停止=错误;
滚动(-1)
}
if(e.originalEvent.clientY>($(window.height()-150)){
停止=错误;
卷轴(1)
}
});
$(“.draggable”)。关于(“dragend”,函数(e){
停止=真;
});
变量滚动=功能(步骤){
var scrollY=$(window.scrollTop();
$(窗口).scrollTop(滚动+步进);
如果(!停止){
setTimeout(函数(){scroll(步骤)},20);
}
}
.draggable
!=<代码>[Dragable],您不能自定义浏览器的自动滚动功能,afaik。是否有其他方法?