这几天我一直在努力解决这个问题,我放弃了。
我有一个 div,其中包含一个 .hover 目标,以及一个在该目标悬停后显示的 div。该子 div 由一个跨度和一个段落组成,跨度绝对定位为部分位于该 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();
});
如果可能的话,我怎样才能让跨度与父母同时淡入?