SCROLL IN A DIV AND DISABLE SCROLL ON BODY
by george_black
HTML
<div>Scroll to bottom of each div</div>
<div id="good">
<p>Good</p>End of Div</div>
<div id="bad">
<p>Bad</p>End of Div</div>
CSS
body {
min-height: 1200px;
padding: 30px;
}
p {
height: 500px;
}
div#bad {
position: absolute;
top: 70px;
left: 330px;
height: 200px;
width: 200px;
background-color: lightgray;
overflow: scroll;
}
div#good {
position: absolute;
top: 70px;
left: 30px;
height: 200px;
width: 200px;
background-color: gray;
overflow: scroll;
}
JavaScript
$('#good').bind('mousewheel DOMMouseScroll', function (e) {
var scrollTo = null;
if (e.type == 'mousewheel') {
scrollTo = (e.originalEvent.wheelDelta * -1);
} else if (e.type == 'DOMMouseScroll') {
scrollTo = 40 * e.originalEvent.detail;
}
if (scrollTo) {
e.preventDefault();
$(this).scrollTop(scrollTo + $(this).scrollTop());
}
});