我正在使用这个相对简单的代码:
var height = help ? 'minus' : 'plus';
var prop = $('#properties');
if(height == 'minus'){
prop.height(prop.height() -= 206);
} else {
prop.height(prop.height() += 206);
}
在添加/减少的两行上都失败了!有什么想法吗?
答案 0 :(得分:8)
-=
运算符等于operand = operand - value
,在您的情况下看起来像
prop.height() = prop.height() - 206;
显然会失败。您只需要使用减号运算符即可完成该任务。
prop.height(prop.height() - 206);
会这样做。
答案 1 :(得分:2)
你不能 - =一种方法。
您需要prop.height(prop.height() - 206);
或首先收集价值然后 - =它就像...
var h = prop.height();
h -= 206
prop.height( h);
答案 2 :(得分:2)
prop.height() -= 206
尝试分配返回值,这不是一个不可能的变量;与(prop.height() = prop.height() - 206
)
你可以改为; prop.height(prop.height() - 206);
或(prop.height(prop.height() + (height === 'minus' ? -206 : 206));
)
答案 3 :(得分:1)
var height = help ? 'minus' : 'plus';
var prop = $('#properties');
var propHeight = prop.height();
if(height === 'minus'){
prop.height(propHeight - 206);
} else {
prop.height(propHeight + 206);
}
答案 4 :(得分:1)
你已经得到了答案,但我想提一下为什么要加上或减去if / else:
// subtract height if help is true, otherwise add height
var heightmodifier = help ? -1 : 1;
var prop = $('#properties');
var propHeight = prop.height();
prop.height(propHeight + (206 * heightmodifier));