window.onload = function() { if (window.addEventListener) window.addEventListener("DOMMouseScroll", mouse_wheel, false); window.onmousewheel = document.onmousewheel = mouse_wheel; }
var mouse_wheel = function(event) { if (false == !!event) event = window.event; var direction = ((event.wheelDelta) ? event.wheelDelta/120 : event.detail/-3) || false; }
var wheel_handle = null; var mouse_wheel = function(event) { if (false == !!event) event = window.event; var direction = ((event.wheelDelta) ? event.wheelDelta/120 : event.detail/-3) || false; if (direction && !!wheel_handle && typeof wheel_handle == "function") { wheel_handle(direction); } } var set_handle = function(id, func) { document.getElementById(id).onmouseover = function() { wheel_handle = func; } document.getElementById(id).onmouseout = function() { wheel_handle = null; } } window.onload = function() { if (window.addEventListener) window.addEventListener("DOMMouseScroll", mouse_wheel, false); window.onmousewheel = document.onmousewheel = mouse_wheel; }
set_handle("r", set_red);
<!DOCTYPE html> <html> <head> <style type="text/css"> #r { position: absolute; left: 10px; top: 10px; width: 100px; height: 100px; font-size: 50px; color: #fff; text-align: center; line-height: 100px; background: #000; } #g { position: absolute; left: 120px; top: 10px; width: 100px; height: 100px; font-size: 50px; color: #fff; text-align: center; line-height:100px; background: #000; } #b { position: absolute; left: 230px; top: 10px; width: 100px; height: 100px; font-size: 50px; color: #fff; text-align: center; line-height:100px; background: #000; } #result { position: absolute; left: 10px; top: 120px; width: 320px; height: 100px; background: #000; } </style> <script type="text/javascript"> var wheel_handle = null; var rgb = { r: 0, g: 0, b: 0, result: 0 } var mouse_wheel = function(event) { if (false == !!event) event = window.event; var direction = ((event.wheelDelta) ? event.wheelDelta/120 : event.detail/-3) || false; if (direction && !!wheel_handle && typeof wheel_handle == "function") { wheel_handle(direction); } } var set_handle = function(id, func) { document.getElementById(id).onmouseover = function() { wheel_handle = func; }; document.getElementById(id).onmouseout = function() { wheel_handle = null; }; } var set_red = function(direction) { rgb.r += direction; if (rgb.r < 0) rgb.r = 0; if (rgb.r > 255) rgb.r = 255; document.getElementById("r").innerHTML = rgb.r; document.getElementById("r").style.backgroundColor = "rgb(" + rgb.r + ", 0, 0)"; set_result(); } var set_green = function(direction) { rgb.g += direction; if (rgb.g < 0) rgb.g = 0; if (rgb.g > 255) rgb.g = 255; document.getElementById("g").innerHTML = rgb.g; document.getElementById("g").style.backgroundColor = "rgb(0, " + rgb.g + ", 0)"; set_result(); } var set_blue = function(direction) { rgb.b += direction; if (rgb.b < 0) rgb.b = 0; if (rgb.b > 255) rgb.b = 255; document.getElementById("b").innerHTML = rgb.b; document.getElementById("b").style.backgroundColor = "rgb(0, 0, " + rgb.b + ")"; set_result(); } var set_result = function() { document.getElementById("result").style.backgroundColor = "rgb(" + rgb.r + ", " + rgb.g + ", " + rgb.b + ")"; } window.onload = function() { if (window.addEventListener) window.addEventListener("DOMMouseScroll", mouse_wheel, false); window.onmousewheel = document.onmousewheel = mouse_wheel; set_handle("r", set_red); set_handle("g", set_green); set_handle("b", set_blue); } </script> </head> <body style="height: 1000px;"> <div id="r">0</div> <div id="g">0</div> <div id="b">0</div> <div id="result"></div> </body> </html>
var mouse_wheel = function(event) { if (false == !!event) event = window.event; var direction = ((event.wheelDelta) ? event.wheelDelta/120 : event.detail/-3) || false; if (direction && !!wheel_handle && typeof wheel_handle == "function") { if (event.preventDefault) event.preventDefault(); event.returnValue = false; wheel_handle(direction); } }
If the event action can be canceled, the preventDefault () method of the Event object is used to cancel the event. This means that the action performed in a particular implementation will not be executed when this event occurs. If the preventDefault () method is called at any phase of the event, the event is canceled. The action performed by this default event is not executed. Calling this method for an event that cannot be canceled has no effect on the further execution of the event. After the call, the preventDefault () method will be valid for the duration of the event further propagation. The preventDefault () method can be called at any phase of the event flow.
<!DOCTYPE html> <html> <head> <style type="text/css"> #r { position: absolute; left: 10px; top: 10px; width: 100px; height: 100px; font-size: 50px; color: #fff; text-align: center; line-height: 100px; background: #000; } #g { position: absolute; left: 120px; top: 10px; width: 100px; height: 100px; font-size: 50px; color: #fff; text-align: center; line-height:100px; background: #000; } #b { position: absolute; left: 230px; top: 10px; width: 100px; height: 100px; font-size: 50px; color: #fff; text-align: center; line-height:100px; background: #000; } #result { position: absolute; left: 10px; top: 120px; width: 320px; height: 100px; background: #000; } </style> <script type="text/javascript"> var wheel_handle = null; var rgb = { r: 0, g: 0, b: 0, result: 0 } var mouse_wheel = function(event) { if (false == !!event) event = window.event; var direction = ((event.wheelDelta) ? event.wheelDelta/120 : event.detail/-3) || false; if (direction && !!wheel_handle && typeof wheel_handle == "function") { if (event.preventDefault) event.preventDefault(); event.returnValue = false; wheel_handle(direction); } } var set_handle = function(id, func) { document.getElementById(id).onmouseover = function() { wheel_handle = func; } document.getElementById(id).onmouseout = function() { wheel_handle = null; } } var set_red = function(direction) { rgb.r += direction; if (rgb.r < 0) rgb.r = 0; if (rgb.r > 255) rgb.r = 255; document.getElementById("r").innerHTML = rgb.r; document.getElementById("r").style.backgroundColor = "rgb(" + rgb.r + ", 0, 0)"; set_result(); } var set_green = function(direction) { rgb.g += direction; if (rgb.g < 0) rgb.g = 0; if (rgb.g > 255) rgb.g = 255; document.getElementById("g").innerHTML = rgb.g; document.getElementById("g").style.backgroundColor = "rgb(0, " + rgb.g + ", 0)"; set_result(); } var set_blue = function(direction) { rgb.b += direction; if (rgb.b < 0) rgb.b = 0; if (rgb.b > 255) rgb.b = 255; document.getElementById("b").innerHTML = rgb.b; document.getElementById("b").style.backgroundColor = "rgb(0, 0, " + rgb.b + ")"; set_result(); } var set_result = function() { document.getElementById("result").style.backgroundColor = "rgb(" + rgb.r + ", " + rgb.g + ", " + rgb.b + ")"; } window.onload = function() { if (window.addEventListener) window.addEventListener("DOMMouseScroll", mouse_wheel, false); window.onmousewheel = document.onmousewheel = mouse_wheel; set_handle("r", set_red); set_handle("g", set_green); set_handle("b", set_blue); } </script> </head> <body style="height: 1000px;"> <div id="r">0</div> <div id="g">0</div> <div id="b">0</div> <div id="result"></div> </body> </html>
Source: https://habr.com/ru/post/133321/
All Articles