2015-01-10 4 views
0

Что не так с этим? ParseFloat возвращает только 0, и все же в строке это «0,9»TypeScript parseFloat не работает

+0

Не могли бы вы показать свой фактический .js-файл, который был создан, а не машинописный? –

+1

Я подозреваю, что проблема не 'parseFloat'. В идеале, вам нужно дать нам минимальный рабочий пример проблемы, чтобы мы могли воссоздать вашу проблему (т. Е. Разместить полностью работающую демонстрацию проблемы в вашем вопросе). Я тестировал 'var opacity =" 0.9 "; var parsed = parseFloat (непрозрачность); alert (parsed); 'и работает так, как ожидалось, поэтому ваша проблема лежит в другом месте. – Fenton

ответ

0

Да, похоже, что я не был кодирования прямо в интервале и это дает неверные результаты, поэтому я изменил код для того, чтобы имеют лучшую логику, и теперь это работает. Вот код результата:

var FaderElement = (function() { 
function FaderElement() { 
} 
FaderElement.prototype.FadeOutElement = function (id, Min) { 
    var Element = document.getElementById(id); 
    var currentOpacity; 
    clearInterval(this._intervalin); 
    this._intervalout = setInterval(function() { 
     currentOpacity = parseFloat(Element.currentStyle.opacity); 
     if (currentOpacity > Min) { 
      currentOpacity -= 0.1; 
      Element.style.opacity = currentOpacity.toString(); 
     } 
     else { 
      clearInterval(this.intervalout); 
     } 
    }, 33); 
}; 
FaderElement.prototype.FadeInElement = function (id, Max) { 
    var Element = document.getElementById(id); 
    var currentOpacity; 
    clearInterval(this._intervalout); 
    this._intervalin = setInterval(function() { 
     currentOpacity = parseFloat(Element.currentStyle.opacity); 
     if (currentOpacity < Max) { 
      currentOpacity += 0.1; 
      Element.style.opacity = currentOpacity.toString(); 
     } 
     else { 
      clearInterval(this.intervalin); 
     } 
    }, 33); 
}; 
return FaderElement; 

})();

+0

, пожалуйста, суммируйте сделанные вами изменения и то, как вы фактически решили свою проблему, а не вставляете большой кусок раскованного кода. – rrrafalsz

+0

Я согласен, что я должен был это сделать 3 года назад, но у меня больше нет этого кода, и через 3 года трудно подвести итог. Извини ! –

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