jQuery If-Else Snippet的JavaScript简写

时间:2013-02-12 14:55:11

标签: javascript jquery shorthand

我有这段代码:

<script type="text/javascript">
$(window).load(function() {
    if(!$.browser.msie){ 
        $('#myDiv').animate({opacity: 1}, 300);
    } else if ($.browser.msie) {
        $('#myDiv').css({opacity:1});
    }
}); 
</script>

如何使用" : something ? somethingElse "语法说出相同的内容?

提前谢谢?

2 个答案:

答案 0 :(得分:7)

不确定我是否提出了这个问题:

$.browser.msie ? $('#myDiv').css({opacity: 1}) : $('#myDiv').animate({opacity: 1}, 300);

另外,我不再是IE的专家了,但我想知道你是否可以这样做:

$('#myDiv').animate({opacity: 1}, $.browser.msie ? 0 : 300);

应该立即应用,并使用外部变量使其更具可读性:

var speed = $.browser.msie ? 0 : 300;
$('#myDiv').animate({opacity: 1}, speed);

或类似的东西。

答案 1 :(得分:4)

你可以这样做:

$(window).load(function() {
    $.browser.msie ? $('#myDiv').css({opacity:1}); : $('#myDiv').animate({opacity: 1}, 300);
});

我不会推荐它至少有两个原因(浏览器嗅探和可读性),但可以

另一种方式:

$(window).load(function() {
    $('#myDiv')[$.browser.msie ? 'css' : 'animate']({opacity:1}, $.browser.msie ? undefined : 300);
});

......但情况更糟。 ; - )