Skip to content

Instantly share code, notes, and snippets.

@AndreyKopylov
Created May 6, 2015 13:26
Show Gist options
  • Save AndreyKopylov/c4a1460905a5636b2a21 to your computer and use it in GitHub Desktop.
Save AndreyKopylov/c4a1460905a5636b2a21 to your computer and use it in GitHub Desktop.
var intOverallDelta = 0,
$innerWrapper = $('.inner-wrapper');
// check mouse
$(".outer-wrapper").mousewheel(function(objEvent, intDelta){
if ( intDelta > 0 ) {
var intOverallDelta = 0;
intOverallDelta++;
console.log($innerWrapper.scrollTop());
if ($('.inner-wrapper').scrollTop() == 0) {
$.fn.fullpage.moveTo('secondSlide', 2);
}
console.log('up - (' + intOverallDelta + ')');
}
else if ( intDelta < 0 ) {
var intOverallDelta = 0;
intOverallDelta--;
console.log('down - (' + intOverallDelta + ')');
}
});
/**
*
* credits for this plugin go to brandonaaron.net
*
* unfortunately his site is down
*
* @param {Object} up
* @param {Object} down
* @param {Object} preventDefault
*/
jQuery.fn.extend({
mousewheel: function(up, down, preventDefault) {
return this.hover(
function() {
jQuery.event.mousewheel.giveFocus(this, up, down, preventDefault);
},
function() {
jQuery.event.mousewheel.removeFocus(this);
}
);
},
mousewheeldown: function(fn, preventDefault) {
return this.mousewheel(function(){}, fn, preventDefault);
},
mousewheelup: function(fn, preventDefault) {
return this.mousewheel(fn, function(){}, preventDefault);
},
unmousewheel: function() {
return this.each(function() {
jQuery(this).unmouseover().unmouseout();
jQuery.event.mousewheel.removeFocus(this);
});
},
unmousewheeldown: jQuery.fn.unmousewheel,
unmousewheelup: jQuery.fn.unmousewheel
});
jQuery.event.mousewheel = {
giveFocus: function(el, up, down, preventDefault) {
if (el._handleMousewheel) jQuery(el).unmousewheel();
if (preventDefault == window.undefined && down && down.constructor != Function) {
preventDefault = down;
down = null;
}
el._handleMousewheel = function(event) {
if (!event) event = window.event;
if (preventDefault)
if (event.preventDefault) event.preventDefault();
else event.returnValue = false;
var delta = 0;
if (event.wheelDelta) {
delta = event.wheelDelta/120;
if (window.opera) delta = -delta;
} else if (event.detail) {
delta = -event.detail/3;
}
if (up && (delta > 0 || !down))
up.apply(el, [event, delta]);
else if (down && delta < 0)
down.apply(el, [event, delta]);
};
if (window.addEventListener)
window.addEventListener('DOMMouseScroll', el._handleMousewheel, false);
window.onmousewheel = document.onmousewheel = el._handleMousewheel;
},
removeFocus: function(el) {
if (!el._handleMousewheel) return;
if (window.removeEventListener)
window.removeEventListener('DOMMouseScroll', el._handleMousewheel, false);
window.onmousewheel = document.onmousewheel = null;
el._handleMousewheel = null;
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment