1

こんにちは、素敵なものです...

ドロップダウンがあり、IE8で開くと... divの幅を正しく読み取っていないため、位置が間違っています...しかし、クリックして閉じると、正しい位置にジャンプして閉じます...他のすべてのブラウザでは正常に動作し、IE7 でも正常に動作します...しかし、何らかの理由で IE8 は準拠したくありません...

これがコードです...

http://jsfiddle.net/PHZpv/2/

    $("#btn-login").click(function () {

    var buttonPos = $(this).offset();

    var loginDropdown = $("#login-dropdown-wrapper");

    console.log(loginDropdown.width() + "px"); //  this returns 4 px.... on dropdown... but is ok on slide up... returns 240px...


    loginDropdown.css({
        "left": buttonPos.left - loginDropdown.width() + $(this).outerWidth() + "px",
            "top": buttonPos.top + 45 + "px"
    })
        .slideToggle(400);

    console.log(loginDropdown.width() + "px"); // this one always returns 240px.....

});

問題を説明するためにコードに追加されたメモがあります....

どんな助けでも感謝します...

幅をハードコードすることはできますが、jquery が $.browser サポートを取り除いたので、そうしたくありません... IF(ie8) と言う簡単な方法はもうありません... (私が知っていることではありません).. . IE8 の将来がこれを引き起こしていることを正確に把握していない限り、$support を呼び出して例外を追加できます....

4

0 に答える 0