Advertisement
bueddl

Untitled

Sep 29th, 2013
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var numberPicker = ({
  2.                     context: $('#1337haxxor'),
  3.                     minCount: 1,
  4.                     maxCount: 10,
  5.                     currentCount: 2,
  6.                     containerCurrent: null,
  7.                     containerNext: null,
  8.                     lock: false,
  9.                     clickUp: function() {
  10.                         if (!this.tryLock())
  11.                             return;
  12.  
  13.                         this.currentCount++;
  14.                         if (this.currentCount > this.maxCount)
  15.                             this.currentCount = this.minCount;
  16.  
  17.                         this.containerNext
  18.                                 .text(this.currentCount)
  19.                                 .css({left: "100%", opacity: 0, display: 'block'})
  20.                                 .animate({left: "0%", opacity: 1});
  21.  
  22.                         this.containerCurrent.animate(
  23.                             {left: "-100%", opacity: 0},
  24.                             {
  25.                                 complete: (function(numPick) {
  26.                                     return function() {
  27.                                         numPick.unlock();
  28.                                         $(this).css('display', 'none');
  29.                                     }
  30.                                 })(this)
  31.                             });
  32.  
  33.                         temp = this.containerCurrent;
  34.                         this.containerCurrent = this.containerNext;
  35.                         this.containerNext = temp;
  36.                     },
  37.                     clickDown: function() {
  38.                         if (!this.tryLock())
  39.                             return;
  40.  
  41.                         this.currentCount--;
  42.                         if (this.currentCount < this.minCount)
  43.                             this.currentCount = this.maxCount;
  44.  
  45.                         this.containerNext
  46.                                 .text(this.currentCount)
  47.                                 .css({left: "-100%", opacity: 0, display: 'block'})
  48.                                 .animate({left: "0%", opacity: 1});
  49.  
  50.                         this.containerCurrent.animate(
  51.                             {left: "100%", opacity: 0},
  52.                             {
  53.                                 complete: (function(numPick) {
  54.                                     return function() {
  55.                                         numPick.unlock();
  56.                                         $(this).css('display', 'none');
  57.                                     }
  58.                                 })(this)
  59.                             });
  60.  
  61.                         temp = this.containerCurrent;
  62.                         this.containerCurrent = this.containerNext;
  63.                         this.containerNext = temp;
  64.                     },
  65.                     tryLock: function() {
  66.                         if (this.lock)
  67.                             return false;
  68.                         return (this.lock = true);
  69.                     },
  70.                     unlock: function() {
  71.                         return (this.lock = false);
  72.                     },
  73.                     init: function() {
  74.                         this.containerNext = $(document.createElement('DIV'))
  75.                                 .css('opacity', 0);
  76.  
  77.                         this.containerCurrent = $(document.createElement('DIV'))
  78.                                 .text(this.currentCount)
  79.                                 .hide();
  80.  
  81.                         this.context.append(this.containerCurrent,
  82.                                 this.containerNext);
  83.  
  84.                         this.containerCurrent.fadeIn();
  85.  
  86.                         return this;
  87.                     }
  88.                 }).init();
  89.  
  90.                 $("#count_down").click(function() {
  91.                     numberPicker.clickDown()
  92.                 });
  93.                 $("#count_up").click(function() {
  94.                     numberPicker.clickUp()
  95.                 });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement