mirror of
https://github.com/flynx/PortableMag.git
synced 2025-10-28 10:40:07 +00:00
59 lines
1.5 KiB
JavaScript
Executable File
59 lines
1.5 KiB
JavaScript
Executable File
(function($) {
|
|
var special = $.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';
|
|
$.event.handle.apply(_self, _args);
|
|
}
|
|
|
|
timer = setTimeout(function() {
|
|
timer = null;
|
|
}, special.scrollstop.latency);
|
|
};
|
|
|
|
$(this).bind('scroll', handler).data(uid1, handler);
|
|
},
|
|
teardown: function() {
|
|
$(this).unbind('scroll', $(this).data(uid1));
|
|
}
|
|
};
|
|
|
|
special.scrollstop = {
|
|
latency: 250,
|
|
setup: function() {
|
|
var timer,
|
|
handler = function(evt) {
|
|
var _self = this,
|
|
_args = arguments;
|
|
|
|
if (timer) {
|
|
clearTimeout(timer);
|
|
}
|
|
|
|
timer = setTimeout(function() {
|
|
timer = null;
|
|
evt.type = 'scrollstop';
|
|
$.event.handle.apply(_self, _args);
|
|
}, special.scrollstop.latency);
|
|
};
|
|
|
|
$(this).bind('scroll', handler).data(uid2, handler);
|
|
},
|
|
teardown: function() {
|
|
$(this).unbind('scroll', $(this).data(uid2));
|
|
}
|
|
};
|
|
|
|
})(jQuery);
|