为什么我不能使用jQuery淡出IE中的这个表行?

时间:2010-03-13 02:23:32

标签: jquery internet-explorer html-table row

我无法让表格行在IE中淡出。它适用于Chrome,但不适用于IE。它变得非常“轻盈”并停留在屏幕上。我尝试使用和不兼容模式的IE8。

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">

function hideIt()
{
    $('#hideme').fadeTo("slow", 0.0);
}

</script>
</head>
<body>
<table>
 <tr id='hideme'>
  <td>Hide me!</td>
 </tr>
</table>
<button onclick='hideIt();'>Hide</button>
</body>
</html>

是否有解决方案/解决方案可以顺利淡出?

2 个答案:

答案 0 :(得分:15)

是的,这是IE中的一个错误(功能?)。如果将它应用于td元素而不是tr,您将获得所需的效果。所以,

$('#hideme>td').fadeTo("slow", 0.0);

答案 1 :(得分:0)

这是我最终做的事情,它在所有事情上都做得很好,虽然很复杂(并且有一些错误 - 一分钟内更多 - 看看你是否能发现它):

function FadeInFrom(item,from_bg,from_fg,call)
{
    $to_bg = $(item).css('background-color');
    $(item).css('background-color',from_bg);

    $to_fg = $(item + '>td').css('color');
    $(item + '>td').css('color',from_fg);

    var anim = {};
    anim['backgroundColor'] = $to_bg;

    $(item).animate(anim,'slow');

    var anim2 = {};
    anim2['color'] = $to_fg;

    $(item + '>td').animate(anim2,'slow');
}

这样做是获取项目的当前颜色,然后将设置为从指定颜色

对于该错误,如果您尝试上面的代码,您会注意到链接和其他DOM项目可能无法正确设置动画。我把它交给某人试图找到解决方案。