Skip to content

Instantly share code, notes, and snippets.

View edoardocavazza's full-sized avatar
🍔

Edoardo Cavazza edoardocavazza

🍔
View GitHub Profile
@edoardocavazza
edoardocavazza / trap-scroller.js
Last active March 29, 2016 09:31
Prevent wheel scroll propagation to parent scroll panels.
function TrapScroller(scroller) {
function callback(ev) {
ev.stopPropagation();
var d = ev.deltaY || 0;
if (
(scroller.scrollHeight !== scroller.offsetHeight) && (
(d < 0 && scroller.scrollTop === 0) ||
(d > 0 && (scroller.scrollTop >= scroller.scrollHeight - scroller.offsetHeight)) ||
(scroller.scrollHeight === scroller.clientHeight))
) {