:
var mouseWheelEvent = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel";
if (document.attachEvent) {
document.attachEvent("on"+mouseWheelEvent, mouseWheelEventHandler);
} else if (document.addEventListener) {
document.addEventListener(mouseWheelEvent, mouseWheelEventHandler, false);
}
, - , .
mouseWheelEventHandler - , mouseWheelEvent , :
function mouseWheelEventHandler(e)
{
if( !sidebar.hasClass('scrollable') && !sidebar.is(":hover") ) {
return true;
}
var event = window.event || e;
var delta = event.detail ? event.detail*(-120) : event.wheelDelta;
sidebar.scrollTop(sidebar.scrollTop()-delta);
}
, , , , .
:
http://www.javascriptkit.com/javatutors/onmousewheel.shtml
, , ,
http://jsfiddle.net/ZZqLr/5/
, , , event.preventDefault() mouseWheelEventHandler:
if( sidebar.scrollTop() == 0 ) {
sidebar.removeClass('scrollable');
}
:
function mouseWheelEventHandler(e)
{
if( !sidebar.hasClass('scrollable') && !sidebar.is(":hover") ) {
return true;
}
var event = window.event || e;
event.preventDefault();
var delta = event.detail ? event.detail*(-120) : event.wheelDelta;
sidebar.scrollTop(sidebar.scrollTop()-delta);
if( sidebar.scrollTop() == 0 ) {
sidebar.removeClass('scrollable');
}
}
: http://jsfiddle.net/ZZqLr/6/
, waypoints.js , , . js, eventHandle:
function mouseWheelEventHandler(e)
{
if( !sidebar.hasClass('scrollable') && !sidebar.is(":hover") ) {
if($(window).scrollTop() + $(window).height() == $(document).height()) {
sidebar.addClass('scrollable');
}
return true;
}
var event = window.event || e;
event.preventDefault();
var delta = event.detail ? event.detail*(-120) : event.wheelDelta;
sidebar.scrollTop(sidebar.scrollTop()-delta);
if( sidebar.scrollTop() == 0 ) {
sidebar.removeClass('scrollable');
}
return true;
}
, , : http://jsfiddle.net/ZZqLr/7/
, ...