Skip to content

Instantly share code, notes, and snippets.

@rwohleb
Created November 4, 2013 02:35
Show Gist options
  • Save rwohleb/7297284 to your computer and use it in GitHub Desktop.
Save rwohleb/7297284 to your computer and use it in GitHub Desktop.
jQuery nap 1.0.0 www.frebsite.nl Copyright (c) 2010 Fred Heusschen Licensed under the MIT license. http://www.opensource.org/licenses/mit-license.php
/*
* jQuery nap 1.0.0
* www.frebsite.nl
* Copyright (c) 2010 Fred Heusschen
* Licensed under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*/
(function($) {
$.fn.nap = function(fallAsleep, wakeUp, standbyTime) {
if (typeof(standbyTime) == 'number' && standbyTime > 0) {
$.fn.nap.standbyTime = standbyTime;
if ($.fn.nap.readySetGo) {
$.fn.nap.pressSnooze();
}
}
if (!$.fn.nap.readySetGo) {
$.fn.nap.readySetGo = true;
$(window).mousemove(function() {
$.fn.nap.interaction();
});
$(window).keyup(function() {
$.fn.nap.interaction();
});
$(window).mousedown(function() {
$.fn.nap.interaction();
});
$(window).scroll(function() {
$.fn.nap.interaction();
});
$.fn.nap.pressSnooze();
}
return this.each(function() {
$.fn.nap.fallAsleepFunctions.push({
func: fallAsleep,
napr: $(this)
});
$.fn.nap.wakeUpFunctions.push({
func: wakeUp,
napr: $(this)
});
});
}
$.fn.nap.standbyTime = 60;
$.fn.nap.isAwake = true;
$.fn.nap.readySetGo = false;
$.fn.nap.fallAsleepFunctions = new Array();
$.fn.nap.wakeUpFunctions = new Array();
$.fn.nap.fallAsleep = function() {
$.fn.nap.isAwake = false;
clearInterval($.fn.nap.alarmClock);
$.fn.nap.callFunctions($.fn.nap.fallAsleepFunctions);
};
$.fn.nap.wakeUp = function() {
$.fn.nap.isAwake = true;
$.fn.nap.callFunctions($.fn.nap.wakeUpFunctions);
};
$.fn.nap.pressSnooze = function() {
clearInterval($.fn.nap.alarmClock);
$.fn.nap.alarmClock = setInterval(function() {
$.fn.nap.fallAsleep();
}, $.fn.nap.standbyTime * 1000);
}
$.fn.nap.interaction = function() {
if (!$.fn.nap.isAwake) {
$.fn.nap.wakeUp();
}
$.fn.nap.pressSnooze();
}
$.fn.nap.callFunctions = function(f) {
for (var i in f) {
if (typeof(f[i].func) == 'function') {
f[i].func();
} else if (typeof(f[i].func) == 'string' && f[i].func.length > 0) {
f[i].napr.trigger(f[i].func);
} else if (typeof(f[i].func) == 'object') {
for (var z in f[i].func) {
f[i].napr.trigger(f[i].func[z]);
}
}
}
}
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment