mirror of
https://github.com/Nioux/Alarian.git
synced 2025-10-28 22:04:29 +00:00
119 lines
4 KiB
JavaScript
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);
|
|
|