mirror of
				https://github.com/flynx/PortableMag.git
				synced 2025-10-31 20:10:13 +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);
 |