0

好的,这可能真的是一个菜鸟问题,但我还是会问!

目前,我的函数定义如下:

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);
}

但是那里的硬编码值显然非常糟糕。
所以实际上,我只想sizeotherSize条件为真时成为,否则size应该不受影响。我该怎么做?

4

2 回答 2

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);
}
于 2013-03-12T13:15:54.933 回答
0

这不是你要找的:

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

    alert(size);
}
于 2013-03-12T13:11:53.507 回答