<!DOCTYPE html>
<html>

  <head>
    <title>Cross-browser JavaScript mouse wheel handling</title>
    <link rel="stylesheet" href="style.css">
  </head>

  <body>
    <h1>Cross-browser JavaScript mouse wheel handling</h1>
    <div class="zoomable">Scroll here with mouse wheel...</div>

    <script src="script.js"></script>
  </body>

</html>
var z = document.getElementsByClassName("zoomable")[0];
var baseWidth = 500;
var padding = 100;

var zoomStep = 30;

// Based on http://www.sitepoint.com/html5-javascript-mouse-wheel/
var handleWheel = function (event) 
{
  // cross-browser wheel delta
  // Chrome / IE: both are set to the same thing - WheelEvent for Chrome, MouseWheelEvent for IE
  // Firefox: first one is undefined, second one is MouseScrollEvent
  var e = window.event || event;
  // Chrome / IE: first one is +/-120 (positive on mouse up), second one is zero
  // Firefox: first one is undefined, second one is -/+3 (negative on mouse up)
  var delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));

  // Do something with `delta`
  var zz = z.clientWidth - padding + zoomStep * delta;
  zz = Math.max(zoomStep, Math.min(2 * baseWidth, zz));
  z.style.width = zz + "px";
  z.innerHTML = "<small>" + window.event + " | " + event +
      "</small><br><small>" +   e.wheelDelta + " | " + e.detail + 
      "</small><br>" + delta + " | " + zz + " | " + z.clientWidth + "px";

  e.preventDefault();
};

var addMouseWheelEventListener = function (scrollHandler)
{
  if (window.addEventListener) 
  {
    // IE9+, Chrome, Safari, Opera
    window.addEventListener("mousewheel", scrollHandler, false);
    // Firefox
    window.addEventListener("DOMMouseScroll", scrollHandler, false);
  } 
  else 
  {
    // // IE 6/7/8
    window.attachEvent("onmousewheel", scrollHandler);
  }
}

addMouseWheelEventListener(handleWheel);
.zoomable 
{
  padding: 50px;
  font: normal bold 30px/1.4 Times, Serif;
  color: black;
  background-color: lightgreen;
  width: 500px;
    
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: n-resize;
}
# Cross-browser JavaScript mouse wheel handling

Taking in account the special behavior of Firefox, and old IE versions, and IE / Chrome differences.