【发布时间】:2012-02-15 06:39:45
【问题描述】:
我用 jquery 做了一个悬停功能。在 FireFox 和 Chrome 中一切正常,问题出在 IE 中。我更改 css 顶部/左侧并使用 jquery.show 使 div 可见。虽然在 IE 中第一次悬停它时,它显示在错误的位置。第二次显示就好了..
var x = (e.pageX - this.offsetLeft) - $(this).next("div").width();
var y = e.pageY - this.offsetTop;
$(this).next("div").css({ display: 'block', 'position': 'fixed', zIndex: 2, left: x, top: y });
$(this).next("div").show("slow");
再次在 Chrome 和 Firefox 中运行良好,但 IE..(我只测试过 IE9)
这是 div 默认隐藏的 CSS:
display:none;
position:fixed;
z-index:2;
【问题讨论】:
-
为什么不在
css文件中为下一个div添加一个类并为该类定义一个css类? -
最初它有一个 css 类(显示为 display:none 等),但我不知道。我就是这样做的。 IE 获取 .css 和 addClass 的方式有什么不同吗?
-
为我工作:jsfiddle.net/gilly3/gup8u。你能发一个jsfiddle来证明这个问题吗?
-
是的,让我摆弄我的完整解决方案。 Fiddle 能坚持多久?像我以后可以删除它吗?
标签: jquery css internet-explorer