12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- (function(){
-
- var special = jQuery.event.special,
- uid1 = 'D' + (+new Date()),
- uid2 = 'D' + (+new Date() + 1);
-
- special.scrollstart = {
- setup: function() {
-
- var timer,
- handler = function(evt) {
-
- var _self = this,
- _args = arguments;
-
- if (timer) {
- clearTimeout(timer);
- } else {
- evt.type = 'scrollstart';
- jQuery.event.dispatch.apply(_self, _args);
- }
-
- timer = setTimeout( function(){
- timer = null;
- }, special.scrollstop.latency);
-
- };
-
- jQuery(this).bind('scroll', handler).data(uid1, handler);
-
- },
- teardown: function(){
- jQuery(this).unbind( 'scroll', jQuery(this).data(uid1) );
- }
- };
-
- special.scrollstop = {
- latency: 300,
- setup: function() {
-
- var timer,
- handler = function(evt) {
-
- var _self = this,
- _args = arguments;
-
- if (timer) {
- clearTimeout(timer);
- }
-
- timer = setTimeout( function(){
-
- timer = null;
- evt.type = 'scrollstop';
- jQuery.event.dispatch.apply(_self, _args);
-
- }, special.scrollstop.latency);
-
- };
-
- jQuery(this).bind('scroll', handler).data(uid2, handler);
-
- },
- teardown: function() {
- jQuery(this).unbind( 'scroll', jQuery(this).data(uid2) );
- }
- };
-
- })();
|