The Mootools FX.scroll() has a option for the mousewheel actually, it says:
wheelStops - (boolean: defaults to true) If false, the mouse wheel will not stop the transition from happening.
I made a demo with that and it worked ok. I had a first idea to use the Core Fx's method .isRunning(), but that alone didn't do the work.
Actually, and a bit surprising, I got the smoothest effect using both. The isRunning() logs on the console when the wheelStops is to false
, but logs undefined if it is true
(default).
var scroll = new Fx.Scroll('theElementsID', {
duration: 'long',
wheelStops: false
});
window.addEvent('mousewheel', function (e) {
var isRunning = scroll.isRunning();
if (scroll.isRunning()) e.preventDefault();
scroll.toBottom();
})