2016-04-23 3 views
0

Я стараюсь оживить число. У меня нет проблем с ints, но моя система не работает с поплавками.jQuery animateNumber - Как использовать prop.animate поплавки

Если propNumberGV будет 5.5 и новый data.value = 10.0, анимации начинаются с 0.0 и это не равно 5.5. Система работает для целых чисел, но не для поплавков ...

var propNumberGV = gv == undefined || gv == null || gv == 0.0 ? 0 : gv; 
     var dcp = 2; 
     var dcf = dcp === 0 ? 1 : Math.pow(10, dcp); 
     $("#gameValue").prop('number', propNumberGV).animateNumber({ 
      number: data.value * dcf, 
      numberStep: function(now, tween) { 
       var floored_number = Math.floor(now)/dcf, 
       target = $("#gameValue"); 
       if (dcp > 0) { 
        floored_number = floored_number.toFixed(dcp); 
       } 

       target.text(floored_number); 
      } 
     }, 4000); 
     gv = data.value; 

Надеюсь, вы можете мне помочь.

JQuery animateNumber: https://github.com/aishek/jquery-animateNumber/

+0

Я сделал это, я просто должен был дать Int вместо поплавка. (500 вместо 5,00) –

ответ

0

Я был точно такой же проблемой, и я понял это. Решение было проще, чем я думал.

Просто умножьте свой propNumberGV на свой dcf, когда вы его передаете. Проблема заключалась не в том, что номер прокрутки начинался с 0, это было то, что номер профайла делился на ваш dcf каждый раз (это как плагин работает), создавая его, как будто оно начиналось с 0, когда на самом деле это было всего лишь небольшое десятичное число.

Попробуйте это:

var propNumberGV = gv == undefined || gv == null || gv == 0.0 ? 0 : gv; 
    var dcp = 2; 
    var dcf = dcp === 0 ? 1 : Math.pow(10, dcp); 
    $("#gameValue").prop('number', (propNumberGV*dcf)).animateNumber({ 
     number: data.value * dcf, 
     numberStep: function(now, tween) { 
      var floored_number = Math.floor(now)/dcf, 
      target = $("#gameValue"); 
      if (dcp > 0) { 
       floored_number = floored_number.toFixed(dcp); 
      } 

      target.text(floored_number); 
     } 
    }, 4000); 
    gv = data.value; 

 Смежные вопросы

  • Нет связанных вопросов^_^