Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何阻止NaN显示在结果中?_Jquery_Nan - Fatal编程技术网

Jquery 如何阻止NaN显示在结果中?

Jquery 如何阻止NaN显示在结果中?,jquery,nan,Jquery,Nan,我有这个jquery脚本 $(document).ready(function() { $(function(){ $("#result").submit(function(e) { e.preventDefault(); var ele = $("#element").val(), target = $("#target").val(), context = $("#context").val(), b

我有这个jquery脚本

 $(document).ready(function() {
   $(function(){
    $("#result").submit(function(e) {
       e.preventDefault();
       var ele = $("#element").val(),
        target = $("#target").val(),
        context = $("#context").val(),
        border = $("#border").val(),
        margin = $("#margin").val(),
        padding = $("#padding").val();

    console.log(ele, target, context, border, margin, padding);

    var DoubleMargin = parseInt(margin, 10) * 2;
    var DoublePadding = parseInt(padding, 10) * 2;
    var DoubleBorder = parseInt(border, 10) * 2;


    var ActualTarget = parseInt(target, 10) - parseInt(DoubleBorder, 10) - parseInt(DoubleMargin, 10) - parseInt(DoublePadding, 10) * 1;
    var result3 = parseInt(target, 10) - parseInt(DoubleMargin, 10) * 1;
    var MarginResult = parseInt(margin, 10) / parseInt(target, 10) * 100;
    var PaddingResult = parseInt(padding, 10) / parseInt(target, 10) * 100;
    var OriginalResult = parseInt(ActualTarget, 10) / parseInt(context, 10) * 100;
    var BorderResult = parseInt(target, 10) - parseInt(border, 10) * 1;

    //$(".result").append(ele + " " + result + "%");
    $("<p></p>", {
        html: ele + " {<br><span>width: " + OriginalResult + "%;" + " /* " + ActualTarget + " (originally " + target + ") / " + context + " */ " + "<br>border: " + border + "px; " + "<br>margin: " + MarginResult + "%; " + "<br>padding: " + PaddingResult+ "%;" + "<br> </span>}"
    }).hide().appendTo("#code-results").fadeIn();
   });

}); 

});
$(文档).ready(函数(){
$(函数(){
$(“#结果”)。提交(功能(e){
e、 预防默认值();
var ele=$(“#元素”).val(),
target=$(“#target”).val(),
context=$(“#context”).val(),
border=$(“#border”).val(),
保证金=$(“#保证金”).val(),
padding=$(“#padding”).val();
日志(元素、目标、上下文、边框、边距、填充);
var DoubleMargin=parseInt(保证金,10)*2;
var DoublePadding=parseInt(padding,10)*2;
var DoubleBorder=parseInt(border,10)*2;
var ActualTarget=parseInt(target,10)-parseInt(DoubleBorder,10)-parseInt(DoubleMargin,10)-parseInt(DoublePadding,10)*1;
var result3=parseInt(target,10)-parseInt(DoubleMargin,10)*1;
var MarginResult=parseInt(保证金,10)/parseInt(目标,10)*100;
var PaddingResult=parseInt(padding,10)/parseInt(target,10)*100;
var OriginalResult=parseInt(实际目标,10)/parseInt(上下文,10)*100;
var BorderResult=parseInt(目标,10)-parseInt(边界,10)*1;
//$(.result”).append(ele+“”+result+“%”);
$(“

”{ html:ele+“{
宽度:“+原始结果+”%;“+”/*“+实际目标+”(“+target+”)/“+context+”*/“+”
边框:“+border+”px;“+”
边距:“+MarginResult+”%;“+”
填充:“+PaddingResult+”;“+”+”+“
}” }).hide().appendTo(“#代码结果”).fadeIn(); }); }); });
但是当有人根本不输入数字时,我会在结果中得到NaN?我如何用这个代码摆脱它?我还希望0仍然显示为0,这是否可能


编辑:事实上,我希望当有人不输入数字而不是NaN时,我得到的结果是0,这可能吗?

u可以使用此函数isNaN()进行测试


编辑:用于测试多个值的实现:

(function(global, $) {
    function isNan(valuesOrg) {
        values = $.isArray(valuesOrg) ? valuesOrg : [valuesOrg];
        results = values.map(function(value) {
            return isNaN(value);
        });

        if (!$.isArray(valuesOrg)) {
            return results[0];
        }

        return results;
    }

    global.myIsNane = isNan;
})(window, jQuery);

console.info(myIsNane('gh'));
console.info(myIsNane(90));
console.info(myIsNane(['oo', 00, 'bb', 84]));

您可以使用此函数isNaN()进行测试


编辑:用于测试多个值的实现:

(function(global, $) {
    function isNan(valuesOrg) {
        values = $.isArray(valuesOrg) ? valuesOrg : [valuesOrg];
        results = values.map(function(value) {
            return isNaN(value);
        });

        if (!$.isArray(valuesOrg)) {
            return results[0];
        }

        return results;
    }

    global.myIsNane = isNan;
})(window, jQuery);

console.info(myIsNane('gh'));
console.info(myIsNane(90));
console.info(myIsNane(['oo', 00, 'bb', 84]));

如果您总是想要结果,您还可以在数字变量前面加上
>0
,这会将无效数字变成0。副作用:数字的范围将是
[04294967295]
。如果您总是想要结果,您也可以在数字变量前面加上
>0
,这将使0中的数字无效。副作用:数字的范围将是
[04294967295]
。我添加了-if(isNaN(target,context,broder,margin,padding))myNumber=0;console.log(myNumber);//返回0});到我的代码的底部,它不工作。我肯定我在这里犯了一些错误:SSir拉桑我有一个问题,我如何在多个值中使用isNan?嗨,Sama,请参阅我回答中的编辑部分。我添加了-if(isNan(目标、上下文、broder、边距、填充))myNumber=0;console.log(myNumber);//返回0});到我的代码的底部,它不工作。我确信我在这里犯了一些错误:SSir拉桑我有一个问题,如何在多个值中使用isNan?嗨,Sama,请参阅我答案中的编辑部分。