Q:

Smooth scrolling on mouse wheel?

Instead of the normal mouse scroll speed, I'd like to make it slower and smoother and as consistent as it can in modern browsers.
I have already tried using a few plugins like NiceScroll (https://nicescroll.areaaperta.com/).
But after installing it, for some reason it puts an overflow: hidden; on my content and can't scroll anywhere after. I don't need any custom-designed scrollbars. I just need the scrolling to be smoother when using the mouse scroll or vertical scroll bar like this:
http://pervolo.com/
Would anyone please enlighten me about this? I plan to use the skrollr plugin (https://github.com/Prinzhorn/skrollr) along with the smooth scrolling. 

A:

This may get you going:
$(window).on('mousewheel DOMMouseScroll', function(e) {
  var dir,
      amt = 100;

  e.preventDefault();
  if(e.type === 'mousewheel') {
    dir = e.originalEvent.wheelDelta > 0 ? '-=' : '+=';
  }
  else {
    dir = e.originalEvent.detail < 0 ? '-=' : '+=';
  }      

  $('html, body').stop().animate({
    scrollTop: dir + amt
  },500, 'linear');
})

DOMMouseScroll and e.originalEvent.detail are required for Firefox.  Change amt to be your desired scroll distance, and change 500 to be your desired scroll speed.
Fiddle:  http://jsfiddle.net/utcsdyp1/1

