jQuery动画与/ margin Top不能在IE9中工作

时间:2012-06-18 19:08:03

标签: jquery internet-explorer-9

我在这里运行了一个测试:http://raglefant.com/test.php我在标题中有这个jQuery:

$(document).ready(function() {
    $('#hideable_header').stop().delay(2000).animate(
            {marginTop: '-=290'}
        ,1000,function() {
    });

    $('#hideable_header').click(function() {
        var position = parseInt($("#hideable_header").css("margin-top"),10);
        console.log('Position: ' + position);
        if (position == 0)
        {
            $('#hideable_header').stop().animate(
                    {marginTop: '-=290'}
                ,1000,function() {
            });
        }
        else
        {
            $('#hideable_header').stop().animate(
                    {marginTop: '+=290'}
                ,1000,function() {
            });
        }
    });
});

这就是div:

<div id="hideable_header" style="position:fixed; top: 0; left: 0; width: 100%; height: 300px; background: #000; z-index:9999;"></div>

这在Chrome中运行良好,但在IE9中没有。如果我单击DIV,它应该更改margintop以隐藏或显示DIV,但在IE9中没有任何反应。 如果我在IE9中打开devtools,一切正常,没有任何错误出现。但是一旦我关闭页面并再次打开它,它仍然会失败。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在IE9中为我工作,但不是你在IE8中的期望。在IE8中,初始位置是NaN,因此我建议在内联样式中将margin-top设置为0。