jQuery / JavaScript:仅在特定条件下更改变量

时间:2013-03-12 12:17:44

标签: javascript jquery if-statement

好的,这可能真的是一个菜鸟问题,但无论如何我都会问!

目前,我的功能定义如下:

function checkSize(size, otherSize, el) {
    if ($(el).width() <= 800) {
        size = otherSize;
    }

    alert(size);
}

但这不起作用。
工作是什么:

function checkSize(size, otherSize, el) {
    if ($(el).width() <= 800) {
        size = otherSize;
    } else {
        size = 5;
    }

    alert(size);
}

但那个硬编码的价值显然非常糟糕 实际上,如果条件为真,我希望size仅为otherSize,否则size应该不受影响。我该怎么做?

2 个答案:

答案 0 :(得分:1)

在使用它之前,你应该确保参数是一个int,但是如果不是这样,你可以尝试将它强制为整数:

function checkSize(size, otherSize, el) {
    if(typeof size != 'number'){
        size = parseInt(size, 10); // 10 is to define you are using a decimal system
    }

    if ($(el).width() <= 800) {
        size = otherSize;
    }

    alert(size);
}

答案 1 :(得分:0)

这不是你想要的:

function checkSize(size, otherSize, el) {
    if ($(el).width() <= 800) {
        size = otherSize;
    } else {
        size = $(el)width();
    }

    alert(size);
}