IE8 / jQuery - fadeIn不在淡入的父级边界外显示绝对定位的子元素

时间:2013-04-08 13:47:15

标签: jquery internet-explorer-8

我已经对这个问题猛烈抨击了几天,我放弃了。

我有一个包含.hover目标的div,以及一旦该目标悬停时显示的div。那个子div由一个span和一个段落组成,其跨度绝对位于div之外。

在现代浏览器中,它们都很好地融合在一起,但是在IE< 8中,跨度(红色背景)没有正确淡入,只显示父div中的部分,并且只有动画完成后才会显示休息出现在外面。

我尝试使用不同的jQuery选择器,编写自定义淡入淡出函数来删除过滤器,绝对将父元素放在屏幕外,试图强制浏览器不使用DirectX,等等。

JSBin显示问题(仅限IE8或更低版本): http://jsbin.com/emegas/3/edit

HTML:

<div class="tooltip">
  <span class="pointer">hover here</span>
  <div class="tip">
    <span class="tipPointer"></span>
    <p>asdasdas.</p>
  </div>
</div>

jQuery的:

$('.pointer').hover(function(){
    $(this).next('.tooltip .tip').stop(true, true).fadeIn(1000);
}, function(){
    $(this).next('.tooltip .tip').stop(true, true).hide();
});

如果可能的话,我是否可以让间隔与父母同时淡出?

1 个答案:

答案 0 :(得分:0)

在IE7和IE8中运行良好。我能想到的唯一问题是你的IE8版本存在一些溢出错误。尝试添加溢出:可见;两个你在CSS中的元素。