import Ember from 'ember'; export default Ember.Component.extend({ classNames: ['scrolly-parent'], didInsertElement() { let component = this; this.$().on('DOMMouseScroll mousewheel', (ev) => { let $this = component.$(), scrollTop = component.element.scrollTop, scrollHeight = component.element.scrollHeight, height = $this.innerHeight(), delta = ev.originalEvent.wheelDelta, up = delta > 0; let prevent = function() { ev.stopPropagation(); ev.preventDefault(); ev.returnValue = false; return false; } // debugger if (!up && -delta > scrollHeight - height - scrollTop) { // Scrolling down, but this will take us past the bottom. $this.scrollTop(scrollHeight); return prevent(); } else if (up && delta > scrollTop) { // Scrolling up, but this will take us past the top. $this.scrollTop(0); return prevent(); } }); } });