var App = function () { var fn1 = function() { } var fn2 = function() { } var fn3 = function() { } //########################## // Surveiller le scroll var spyScroll = function() { var scrollticker; $(window).on('scroll',function() { //Clear Timeout if one is pending if(scrollticker) { window.clearTimeout(scrollticker); scrollticker = null; } scrollticker=window.setTimeout(function(){ App.scroll(); }, 2500); // timeout }); } // Surveiller le resize var spyResize = function() { var resizeticker; window.onresize = function() { // Clear Timeout if one is pending window.clearTimeout(resizeticker); resizeticker=window.setTimeout(function(){ App.resize(); }, 2500); // timeout }; } // suivre ajaxcallback de spip var spySpipAjax = function() { if (typeof onAjaxLoad == 'function') { onAjaxLoad(App.reboot); } } //########################## return { //Attention à l'ordre d'appel des modules init: function () { fn1(); fn2(); fn3(); // les fonctions "espions" spySpipAjax(); spyScroll(); spyResize(); }, // ici les fonctions "ajaxcallback proof" reboot: function () { fn2(); }, // ici les fonctions qui réagissent au scroll scroll: function () { fn3(); }, // ici les fonctions qui réagissent au resize screen resize: function () { fn3(); } }; }(); //go ! $(function(){App.init();});