我的javascript / jquery代码的JavaScript NaN问题

时间:2012-03-14 16:50:54

标签: javascript jquery syntax nan

我使用javascript来动画一些符合div的文本。

textValue可以是14-92之间的任何数字。然后,我需要将此数字更改为百分比(介于1和100之间),并将此值从0开始设置为百分比。问题是它显示了NaN并且我不确定是什么导致了这一点。

我相信行中的问题whileValue = ...

我已在我的代码中更早地声明了变量。

知道是什么导致了这个问题吗?

由于

        $("#percent")
            .delay(3000)
            .animate({
                bottom: textValue 
            }, {
            step: function () {
                whileValue = (Math.ceil(parseInt($(".progressbar-cover").css("bottom")-14)/78)*100);
                $("#percent").html(whileValue); //Increase the number to whileValue inline with animating upwards
            }
        }); 

编辑:为@mike

添加了我的html
  <div class="progressbar">
      <div style="position:absolute; left:-14px; bottom:0%;" id="percent">0%</div>
      <span class="progressbar-value"><em class="progressbar-cover"></em></span>
  </div>

3 个答案:

答案 0 :(得分:4)

你在做什么

parseInt($(".progressbar-cover").css("bottom")-14)

您可以通过以下方式更正:

parseInt($(".progressbar-cover").css("bottom"))-14

您将能够解析“12px”,但不能解析“12px” - 14

答案 1 :(得分:0)

css("bottom")会返回一个数字吗?或者它返回如下内容: 24像素?

只需添加:

.css("top").replace("px","");

答案 2 :(得分:0)

我同意Alytrem,但因为它是一个百分比值,

我会选择以下(parseFloat):

var value = ((parseFloat($(".progressbar-cover").css(bottom))-14)/78)*100);;
 $("#percent").html(value);