From efbe4cdf90823d0e9006572e99ec04ab57498b81 Mon Sep 17 00:00:00 2001 From: Mathijs Peerboom Date: Tue, 3 Dec 2013 13:55:36 +0100 Subject: [PATCH 1/3] adding horizontal scrolling by mouse slide --- index.html | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/index.html b/index.html index 73706cc..471b850 100644 --- a/index.html +++ b/index.html @@ -258,6 +258,28 @@ h1{ } } + var slider = { + startingPostition: 0, + slidingDistance: 0, + pagePosition: 0, + init: function(){ + window.addEventListener('mousedown', function(event){ + slider.startingPostition = event.clientX; + slider.pagePosition = window.pageXOffset; + window.addEventListener('mousemove', slider.slide); + }); + window.addEventListener('mouseup', function(event){ + window.removeEventListener('mousemove', slider.slide); + }); + }, + slide: function(event){ + event.preventDefault() + slider.slidingDistance = slider.startingPostition - event.clientX; + window.scrollTo(slider.pagePosition + slider.slidingDistance, 0); + } + } + life.start(); + slider.init(); })(); \ No newline at end of file From 1f821e15a0005111e25f1309377dfea5ca01816f Mon Sep 17 00:00:00 2001 From: Mathijs Peerboom Date: Tue, 3 Dec 2013 14:39:38 +0100 Subject: [PATCH 2/3] added missing semicolon --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 471b850..e4718b8 100644 --- a/index.html +++ b/index.html @@ -273,7 +273,7 @@ h1{ }); }, slide: function(event){ - event.preventDefault() + event.preventDefault(); slider.slidingDistance = slider.startingPostition - event.clientX; window.scrollTo(slider.pagePosition + slider.slidingDistance, 0); } From 379716629665fb83aa1ba2626ef01be8bce96756 Mon Sep 17 00:00:00 2001 From: Mathijs Peerboom Date: Wed, 4 Dec 2013 11:25:39 +0100 Subject: [PATCH 3/3] adding vertical scrolling by mouse slide --- index.html | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index d02eef6..c83d00e 100644 --- a/index.html +++ b/index.html @@ -259,13 +259,18 @@ h1{ } var slider = { - startingPostition: 0, - slidingDistance: 0, - pagePosition: 0, + startingMousePostition: {}, + startingPagePosition: {}, init: function(){ window.addEventListener('mousedown', function(event){ - slider.startingPostition = event.clientX; - slider.pagePosition = window.pageXOffset; + slider.startingMousePostition = { + x: event.clientX, + y: event.clientY + }; + slider.startingPagePosition = { + x: window.pageXOffset, + y: window.pageYOffset + }; window.addEventListener('mousemove', slider.slide); }); window.addEventListener('mouseup', function(event){ @@ -274,8 +279,11 @@ h1{ }, slide: function(event){ event.preventDefault(); - slider.slidingDistance = slider.startingPostition - event.clientX; - window.scrollTo(slider.pagePosition + slider.slidingDistance, 0); + newPosition = { + x: slider.startingPagePosition.x + (slider.startingMousePostition.x - event.clientX), + y: slider.startingPagePosition.y + (slider.startingMousePostition.y - event.clientY) + }; + window.scrollTo(newPosition.x, newPosition.y); } }