大家好,这是一个不错的...
我有一个下拉菜单,当我单击它时在 IE8 中打开...位置错误,因为它没有正确读取 div 的宽度...但是当我单击它关闭时,它会跳转到正确的位置并关闭...它在所有其他浏览器中都可以正常工作,甚至在 IE7 中也可以正常工作......但由于某种原因 IE8 不想遵守......
这是代码...
$("#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 事物并添加一个异常....