jquery .width在IE8中无法正常工作

时间:2013-05-09 18:05:21

标签: jquery

大家好,这是一个很好的...

我有一个下拉菜单,当我点击它在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的东西并添加一个例外....

0 个答案:

没有答案