在另一个if
内有多个合并的if
。如果只有一个if
具有组合条件,则可以正常工作。一旦我添加另一个,它就会停止工作。 js代码看起来像这样
var ttl = //dynamic text
var curcookie = //dynamicly calculated number
if ( ttl.indexOf('something') !== -1 )
//this "if" works in any case
{
var result1 = "dynamic number" //works fine as well
var result2 = "dynamic number" //works fine as well
var result3 = "dynamic number" //works fine as well
if ( ( curcookie > result1) && (curcookie < result2) ) { $(".div1").show(); }
//works without this one bellow
if ( ( curcookie > result2) && (curcookie < result3) ) { $(".div2").show(); }
// works without one above
if (curcookie > result3) { $(".div3").show(); }
}
}
正如我已经提到的,一切正常,直到我添加
if ( ( curcookie > result2) && (curcookie < result3) ) { $(".div2").show();}
所以,我猜这个错误在某处,但我不知道究竟是什么。
小提琴
答案 0 :(得分:1)
你在这里缺少一个开头括号
if ( curcookie > result2) && (curcookie < result3) ) { $(".div2").show(); }
应该是
if (( curcookie > result2) && (curcookie < result3) ) { $(".div2").show(); }
这就是为什么jsfiddle不工作
答案 1 :(得分:0)
如果代码的预期输出是显示所有div类(.div1
,.div2
,.div3
),则需要确保所有条件都是真
如果没有显示班级.div2
,则其条件可能为 false 。
答案 2 :(得分:0)
您在if
声明中缺少左括号。
此:
if (curcookie > result2) && (curcookie < result3)) {
$(".div2").show();
}
应该是这样的:
if ((curcookie > result2) && (curcookie < result3)) {
$(".div2").show();
}
在此处查看固定版本 - DEMO