if else javascript中的多个isNaN

时间:2014-11-02 22:12:13

标签: javascript jquery css if-statement

所以我创建了一个javascript,它将绘制一些div并根据输入的值来设置它们的样式。问题是,当我尝试绘制警告时,你必须输入一个数字,而不是其他任何东西。目前我似乎无法创建数字,它只显示值不是数字的警告..

我的代码:

function genFigures(){
    var numberFig = numberFigInput.value;
    var widthValue = figWidthInput.value;
    var heightValue = figHeightInput.value;
    var colorValue = figRgbInput.value;
    var leftValue = figPosLeftInput.value;
    var topValue = figPosTopInput.value;

    if (numberFig >= 1001){
        alert("You need to input a value between 1 and 1000!");

    }if (isNaN(numberFigInput) && isNaN(figWidthInput) && isNaN(figWidthInput) && isNaN(figPosLeftInput) && isNaN(figPosTopInput)){
        alert("You have to insert a number!");

    }else{
        for(var amount = 0; amount < numberFig; amount++){
            myFigures.innerHTML += "<div></div>"

            var figStyle = document.getElementsByTagName("div");

            for(var i = 0; i < figStyle.length; i++){
            figStyle[i].style.width = widthValue +"px";
            figStyle[i].style.height = heightValue +"px";
            figStyle[i].style.background = "rgb(" + colorValue + ")";
            figStyle[i].style.left = leftValue +"px";
            figStyle[i].style.top = topValue +"px";

            }

        }
    }
}

2 个答案:

答案 0 :(得分:1)

您可能忘记了为什么要创建其他变量;)

应该是

if (isNaN(numberFig) && isNaN(widthValue) && isNaN(...) && isNaN(leftValue) && isNaN(topValue)){
        alert("You have to insert a number!");

而不是...colorValueheightValue,我完全不知道,因为你重复figWidthInput两次。

答案 1 :(得分:0)

isNaN()不是在用户输入中测试的正确方法是数字。您必须使用parseInt(),如下所示:parseInt(figWidthInput, 10)