0

我有这段代码:

<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 "语法说同样的话?

提前致谢?

4

2 回答 2

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);

或类似的东西。

于 2013-02-12T14:59:05.070 回答
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);
});

……但这更糟。;-)

于 2013-02-12T14:58:11.420 回答