Advertisement
Guest User

slider.js vertical slider inverse range correction

a guest
Feb 17th, 2011
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                 function onKeyDown(e) {
  2.                         if(!kbEnabled) return true;
  3.  
  4.                         e = e || document.parentWindow.event;
  5.                         var kc = e.keyCode != null ? e.keyCode : e.charCode;
  6.  
  7.                         if ( kc < 33 || (kc > 40 && (kc != 45 && kc != 46))) return true;
  8.  
  9.                         var value = tagName == "input" ? parseFloat(inp.value) : inp.selectedIndex;
  10.                         if(isNaN(value) || value < Math.min(min,max)) value = Math.min(min,max);
  11.  
  12.                         if( kc == 37 || kc == 40 || kc == 46 || kc == 34) {
  13.                                 // left, down, ins, page down
  14.                                 if (min < max)
  15.                                         value -= (e.ctrlKey || kc == 34 ? maxInc : inc)
  16.                                 else
  17.                                         value += (e.ctrlKey || kc == 34 ? maxInc : inc)
  18.                         } else if( kc == 39 || kc == 38 || kc == 45 || kc == 33) {
  19.                                 // right, up, del, page up
  20.                                 if (min < max)
  21.                                         value += (e.ctrlKey || kc == 33 ? maxInc : inc)
  22.                                 else
  23.                                         value -= (e.ctrlKey || kc == 33 ? maxInc : inc)
  24.                         } else if( kc == 35 ) {
  25.                                 // end
  26.                                 value = Math.max(min,max);
  27.                         } else if( kc == 36 ) {
  28.                                 // home
  29.                                 value = Math.min(min,max);
  30.                         };
  31.  
  32.                         valueToPixels(value);
  33.                         callback("update");
  34.  
  35.                         // Opera doesn't let us cancel key events so the up/down arrows and home/end buttons will scroll the screen - which sucks
  36.                         return stopEvent(e);
  37.                 };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement