and*_*ick 2 jquery scroll drag
如何制作它以便我可以在页面上的主体上进行mousedown,然后向上或向下拖动页面,就像在PDF中一样?
基本上我希望能够上下拖动整个页面,任何想法如何做到这一点?我不想使用jQuery UI做任何事情.
好的,这是阶段......
1)你需要在文档的主体上有一个持续的监听器,它将密切关注当前的鼠标位置
2)在鼠标按下时,你需要滚动大致等于鼠标移动(你可以选择稍微加快滚动)
这是在jQuery中执行此操作的示例
var gesturesX = 0;
var gesturesY = 0;
var startPosition = 0;
var velocity = 0;
var isMouseDown = false;
var timer;
function GetVelocity() {
velocity = startPosition - gesturesY;
}
$(document).mousemove( function (e) {
gesturesX = parseInt(e.pageX, 10);
gesturesY = parseInt(e.pageY, 10);
$("#mouse").html(gesturesY);
if (isMouseDown) {
window.scrollBy(0, startPosition - gesturesY);
return false;
}
});
$(document).mousedown( function() {
startPosition = gesturesY;
isMouseDown = true;
timer = window.setTimeout(GetVelocity, 50);
});
$(document).mouseup( function() {
isMouseDown = false;
if (velocity != 0) {
$Body = $("body");
var distance = velocity * 20;
var scrollToPosition = $Body.scrollTop() + distance;
$Body.eq(0).animate({ scrollTop: scrollToPosition}, 1000);
velocity = 0;
}
return false;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8311 次 |
| 最近记录: |