1

ここでテストを実行しています: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をクリックすると、マージントップが変更されてDIVが表示または非表示になりますが、IE9では何も起こりません。ただし、IE9でdevtoolsを開くと、エラーが表示されることなくすべてが正常に機能します。しかし、ページを閉じて再度開くとすぐに失敗します。

何か案は?

4

1 に答える 1

0

IE9 ではうまくいきましたが、IE8 ではうまくいきませんでした。IE8 では初期位置が NaN なので、インライン スタイルでは margin-top を 0 に設定することをお勧めします。

于 2012-06-18T19:12:41.270 に答える