所以我想使用如下的switch语句:
switch (scrollLeft) {
case (<1000):
//do stuff
break;
case (>1000 && <2000):
//do stuff
break;
}
现在我知道这两个语句(<1000
)或(>1000 && <2000
)都不能工作(显然是由于不同的原因)。我要问的是最有效的方法。我讨厌使用30条if
语句,所以我宁愿使用switch语法。有什么我能做的吗?
发布于 2011-07-12 22:55:48
另一种选择:
var scrollleft = 1000;
switch (true)
{
case (scrollleft > 1000):
alert('gt');
break;
case (scrollleft <= 1000):
alert('lt');
break;
}
发布于 2011-07-12 22:47:50
switch (Math.floor(scrollLeft/1000)) {
case 0: // (<1000)
//do stuff
break;
case 1: // (>=1000 && <2000)
//do stuff;
break;
}
只有当你有规则的步骤时才有效...
编辑:由于这个解决方案不断获得好评,我必须建议mofolo's solution是一种更好的方法
发布于 2011-07-12 22:47:30
你到底在//do stuff
做什么?
您可以执行以下操作:
(scrollLeft < 1000) ? //do stuff
: (scrollLeft > 1000 && scrollLeft < 2000) ? //do stuff
: (scrollLeft > 2000) ? //do stuff
: //etc.
https://stackoverflow.com/questions/6665997
复制相似问题