繁体   English   中英

可以在jQuery中使用三元运算符吗?

[英]can you use the ternary operators with jQuery?

我使用了一些jQuery来触发if函数。 当我尝试使用普通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') : "";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM