Reputation: 518
I am trying to convert jQuery into plain JS.
My issue is that I can't seem to find an equivalent for these two lines:
$(window).scrollTop($(window).scrollTop() + (curYPos - m.pageY));
$(window).scrollLeft($(window).scrollLeft() + (curXPos - m.pageX));
Here is my full code:
$(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;
});
})
Upvotes: 1
Views: 379
Reputation: 21766
Use below cross browser solution which using pure 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;
Upvotes: 1