1
0
Fork 0
mirror of https://github.com/Nioux/Alarian.git synced 2025-10-28 22:04:29 +00:00
Alarian/scripts.js
Yan Maniez cb594fe3b7 Reorg
2020-01-24 10:46:06 +01:00

119 lines
4 KiB
JavaScript

function init() {
var body = document.documentElement;
var range = document.getElementById("range");
var map = document.getElementById("map");
map.style.width = "" + range.value + "%";
range.oninput = function() {
map.style.width = "" + range.value + "%";
console.log(range.value);
}
//range.addEventListener("wheel", onwheel);
addWheelListener(body, onwheel);
var curYPos = 0,
curXPos = 0,
curDown = false;
window.addEventListener('mousemove', function(e) {
if (curDown === true) {
window.scrollTo(document.body.scrollLeft + (curXPos - e.pageX), document.body.scrollTop + (curYPos - e.pageY));
}
e.preventDefault();
});
window.addEventListener('mousedown', function(e) {
curDown = true;
curYPos = e.pageY;
curXPos = e.pageX;
e.preventDefault();
});
window.addEventListener('mouseup', function(e) {
curDown = false;
e.preventDefault();
});
}
function onwheel(e) {
var range = document.getElementById("range");
var map = document.getElementById("map");
//alert(range.value);
//var percent = range.value.toString().substring(0, range.length - 1);
//alert(percent);
console.log(range.value);
range.value = parseInt(range.value) - Math.sign(e.deltaY) * 10;
map.style.width = "" + range.value + "%";
//map.style.width = "" + range.value + "%";
//map.style.width = "" + (parseInt(range.value) + 10) + "%";
console.log(range.value);
e.preventDefault();
}
// creates a global "addWheelListener" method
// example: addWheelListener( elem, function( e ) { console.log( e.deltaY ); e.preventDefault(); } );
(function(window,document) {
var prefix = "", _addEventListener, support;
// detect event model
if ( window.addEventListener ) {
_addEventListener = "addEventListener";
} else {
_addEventListener = "attachEvent";
prefix = "on";
}
// detect available wheel event
support = "onwheel" in document.createElement("div") ? "wheel" : // Modern browsers support "wheel"
document.onmousewheel !== undefined ? "mousewheel" : // Webkit and IE support at least "mousewheel"
"DOMMouseScroll"; // let's assume that remaining browsers are older Firefox
window.addWheelListener = function( elem, callback, useCapture ) {
_addWheelListener( elem, support, callback, useCapture );
// handle MozMousePixelScroll in older Firefox
if( support == "DOMMouseScroll" ) {
_addWheelListener( elem, "MozMousePixelScroll", callback, useCapture );
}
};
function _addWheelListener( elem, eventName, callback, useCapture ) {
elem[ _addEventListener ]( prefix + eventName, support == "wheel" ? callback : function( originalEvent ) {
!originalEvent && ( originalEvent = window.event );
// create a normalized event object
var event = {
// keep a ref to the original event object
originalEvent: originalEvent,
target: originalEvent.target || originalEvent.srcElement,
type: "wheel",
deltaMode: originalEvent.type == "MozMousePixelScroll" ? 0 : 1,
deltaX: 0,
deltaY: 0,
deltaZ: 0,
preventDefault: function() {
originalEvent.preventDefault ?
originalEvent.preventDefault() :
originalEvent.returnValue = false;
}
};
// calculate deltaY (and deltaX) according to the event
if ( support == "mousewheel" ) {
event.deltaY = - 1/40 * originalEvent.wheelDelta;
// Webkit also support wheelDeltaX
originalEvent.wheelDeltaX && ( event.deltaX = - 1/40 * originalEvent.wheelDeltaX );
} else {
event.deltaY = originalEvent.deltaY || originalEvent.detail;
}
// it's time to fire the callback
return callback( event );
}, useCapture || false );
}
})(window,document);