pullToRefreshHelper.js
739 Bytes
define(function(){var a="refreshing",r="releasing",l={el:null,container:document.body,loading:{show:function(){},hide:function(){}},loadData:function(){}},f=function(t){return 1<t.scrollTop&&t.scrollHeight-t.scrollTop-t.offsetHeight<1},u=function(t){return t+".pullToRefresh"};return function(t){var o=this,n=function(t){return u(t)},e=$.extend({},l,t),i=e.container;this.state=r,this.updateState=function(t){this.state=t},this.destory=function(){$(i).off(n("scroll"))},$(i).off(n("scroll")).on(n("scroll"),function(t){if(r===o.state){var n=f(i);t.preventDefault(),t.stopPropagation(),n&&(e.loading.show(),o.updateState(a),e.loadData(function(t){if(e.loading.hide.apply(e.loading,arguments),!t)return o.destory();o.updateState(r)}))}})}});