我正在尝试将jQuery转换为普通的JS。
我的问题是我似乎找不到这两行的等价物:
$(window).scrollTop($(window).scrollTop() + (curYPos - m.pageY));
$(window).scrollLeft($(window).scrollLeft() + (curXPos - m.pageX));
这是我的完整代码:
$(function(){
var curDown = false,
curYPos = 0,
curXPos = 0;
$(window).mousemove(function(m){
if(curDown === true){
$(window).scrollTop($(window).scrollTop() + (curYPos - m.pageY));
$(window).scrollLeft($(window).scrollLeft() + (curXPos - m.pageX));
}
});
$(window).mousedown(function(m){
curDown = true;
curYPos = m.pageY;
curXPos = m.pageX;
});
$(window).mouseup(function(){
curDown = false;
});
})
答案 0 :(得分:1)
使用以下使用纯JavaScript的跨浏览器解决方案:
var supportPageOffset = window.pageXOffset !== undefined;
var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat");
var scrollLeft = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;
var scrollTop = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;