2013-05-07 4 views
3

У меня возникла проблема с анимационной ручкой jquery. Как вы можете видеть в моем примере, оживает только последний.JQuery button animate

<input class="knob nummer1 animated" value="0" rel="64"> 
     <input class="knob nummer2 animated" value="0" rel="77"> 
     <input class="knob nummer3 animated" value="0" rel="99"> 

link

ответ

4

местного $this объект не получал установить для каждого нового экземпляра ручки, а так же this объекта ссылается каждый раз.

, так что вам нужно создать новую локальную ссылку для объекта this для каждого экземпляра ручки.

var $this = $(this);

Live Demo @ JSFiddle

JS КОД:

 $('.knob').each(function() { 
     var $this = $(this); 
     var myVal = $this.attr("rel"); 
     $this.knob({ 
     }); 
     $({ 
      value: 0 
     }).animate({ 
      value: myVal 
     }, { 
      duration: 2000, 
      easing: 'swing', 
      step: function() { 
      $this.val(Math.ceil(this.value)).trigger('change'); 
      } 
     }); 
    }); 
+0

спасибо. Совсем близко, но я хочу целые числа в анимации – Johansrk

+0

@Johansrk: я тебя не понял? что вы подразумеваете под целыми цифрами в анимации? – dreamweiver

+0

во время анимации цифры не целые. Похоже, «ceil», не работает – Johansrk