SHARE
TWEET

Untitled

a guest May 19th, 2017 41 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (
  2.   function ( $ )
  3.   {
  4.     $.fn.spinner = function( options )
  5.     {
  6.       var defaults =
  7.       {
  8.         interval: 1,
  9.        
  10.         spinUpHtml: '<a href="#">up</a>',
  11.         spinDownHtml: '<a href="#">down</a>',
  12.        
  13.  
  14.         onSpin: function( el, interval )
  15.         {
  16.           return true;
  17.         },
  18.  
  19.         onSpinUp: function( el, interval )
  20.         {
  21.           var val = parseFloat( el.val() );
  22.          
  23.           if ( el.val() == '' )
  24.           {
  25.             var val = 0;
  26.           }
  27.          
  28.           el.val( val + interval );
  29.           return true;
  30.         },
  31.  
  32.         onSpinDown: function( el, interval )
  33.         {
  34.           var val = parseFloat( el.val() );
  35.          
  36.           if ( el.val() == '' )
  37.           {
  38.             var val = 0;
  39.           }
  40.          
  41.           el.val( val - interval );
  42.           return true;
  43.         }
  44.       };
  45.      
  46.       var options = $.extend( defaults, options );
  47.      
  48.       return this.each(
  49.         function()
  50.         {
  51.           var input = $( this );
  52.          
  53.           input.bind({
  54.             spin: function(){ options.onSpin( input, options.interval ) },
  55.             spinup: function(){ options.onSpinUp( input, options.interval ) },
  56.             spindown: function(){ options.onSpinDown( input, options.interval ) }
  57.           });
  58.          
  59.           $( '<div id="spinup">' + options.spinUpHtml + '</div><div id="spindown">' + options.spinDownHtml + '</div>' ).insertAfter( this );
  60.          
  61.           $( '#spinup' ).click(
  62.             function( event )
  63.             {
  64.               input.trigger( 'spin' );
  65.               input.trigger( 'spinup' );
  66.              
  67.               event.preventDefault();
  68.             }
  69.           );
  70.          
  71.           $( '#spindown' ).click(
  72.             function( event )
  73.             {
  74.               input.trigger( 'spin' );
  75.               input.trigger( 'spindown' );
  76.              
  77.               event.preventDefault();
  78.             }
  79.           );
  80.         }
  81.       );
  82.     };
  83.   }
  84. )( jQuery );
RAW Paste Data
Want to get better at JavaScript?
Learn to code JavaScript in 2017
Top