The onwheel
property of the GlobalEventHandlers
mixin is an event handler that processes wheel
events.
The wheel
event fires when the user rotates the mouse (or other pointing device) wheel.
Note: Don't confuse onwheel
with onscroll
: onwheel
handles general wheel rotation, while onscroll
handles scrolling of an object's content.
target.onwheel = functionRef;
functionRef
is a function name or a function expression. The function receives a WheelEvent
object as its sole argument.
This example shows how to scale an element using the mouse (or other pointing device) wheel.
<div>Scale me with your mouse wheel.</div>
body {
min-height: 100vh;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
}
div {
width: 80px;
height: 80px;
background: #cdf;
padding: 5px;
transition: transform .3s;
}
function zoom(event) {
event.preventDefault();
if (event.deltaY < 0) {
scale *= event.deltaY * -2;
}
else {
scale /= event.deltaY * 2;
}
scale = Math.min(Math.max(.125, scale), 4);
el.style.transform = `scale(${scale})`;
}
let scale = 1;
const el = document.querySelector('div');
document.onwheel = zoom;