2012-04-12 48 views
0

我有一个使用HTML/jQuery从数据库中显示的项目表。在表格的最后一列中,我有几个操作链接(删除,编辑等)。我只希望这些链接,当鼠标悬停在该行是可见的,所以我的设置是这样的表格:我应该如何根据行悬停切换操作链接

<table class="data" ...> 
    <tr> 
     <td>...</td> 
     <td>...</td> 
     <td>...</td> 
     <td class="actions>...</td> 
    </tr> 
</table> 

我的CSS是这样的:

table.data td.actions { visibility: hidden; } 
table.data tr:hover td.actions { visibility: visible; } 

这只要伟大工程因为我首先将鼠标悬停在行中的任何其他列上。如果我将鼠标移到动作列所在的位置,它就不会显示出来。我猜是因为该列是隐藏的,它不会触发行的悬停事件。我怎样才能解决这个问题?

例子:http://jsfiddle.net/wB5KC/

回答

1

我原来删除这个问题,但以为我把它放回去,以防别人发现它是有用的。解决方案是移动单元格内div的链接,并切换div本身的可见性,而不是单元格。一旦单元始终可见,即使没有可见内容,它也会触发行的悬停事件。一旦触发了悬停事件,就会显示内容。

0

http://jsfiddle.net/wB5KC/5/

就改成这样:

table.data td.actions { 
    zoom: 1; 
    filter: alpha(opacity=0); 
    opacity: 0; 
} 
table.data tr:hover td.actions { 
    zoom: 1; 
    filter: alpha(opacity=100); 
    opacity: 1; 
}