我使用了一些jQuery来触发if函数。当我尝试使用vanilla javascript的三元操作数来简化等式时,它似乎不起作用。
我究竟做错了什么?
if(windowBottom > objectBottom) {
$(this).animate({opacity: '1'}, 1500);
$(this).addClass('item-play__right');
}
//works fine
windowBottom > objectBottom ? $(this).animate({opacity: '1'}, 1500).addClass('item-play__right');
//doesn't work
是的,它可以完成,但它需要使用?
和:
windowBottom > objectBottom ? ($(this).animate({opacity:"1"},
1500).addClass("item-play__right")) :'';
没有三元运算符,代码片段也可以写成
windowBottom > objectBottom && ($(this).animate({opacity:"1"},
1500).addClass("item-play__right"));
这不是您正在使用的有效三元语法,应该有两个可能的结果由:
字符分隔。
此外,如果您将其用于副作用而不是计算值,则最好使用if / else
你需要?
和:
,否则会导致语法错误。
windowBottom > objectBottom ? $(this).animate({opacity: '1'}, 1500).addClass('item-play__right') : "";