在悬停时显示表格行旁边的元素

时间:2012-08-21 22:00:15

标签: jquery html css

我想要实现的是当有人盘旋在桌子行上时,我想在桌子的左侧(桌子外面)显示上下箭头。使用html / css或jquery实现此目的的最佳方法是什么?

2 个答案:

答案 0 :(得分:8)

你可以在没有任何JavaScript的情况下完成它 - 只需要像这样的简单HTML:

CSS

table {
    margin:     100px;
}

td {
    position:   relative;
}

span.arrow {
    display:    none;
    width:      20px;
    height:     20px;
    position:   absolute;
    left:       -20px;
    border:     1px solid red;
}

tr:hover span.arrow {
    display:    block;
}

HTML

<table>
    <tr>
        <td>
            <span class="arrow"></span>
            Some content
        </td>
        <td>Some content</td>
    </tr>
</table>

这只是基本的想法。请记住,箭头必须与表格行“连接”,否则当您向它们移动时它们会再次隐藏(因为您将离开:hover的{​​{1}} - 这是为什么<tr>width的数量在示例中是相同的)。

样本

jsFiddle

注意

我只在Safari中测试过这个。对于所有其他浏览器,只需将leftposition: relative;移至<tr>

<table>

答案 1 :(得分:1)

toggleClass(http://api.jquery.com/toggleClass/)与jquery一起使用

HTML

<table>
    <tr>
        <td>cell 1</td>
        <td>cell 2</td>
        <td class="arrows">
            <div class="hide">up down</div>
        </td>
    </tr>
</table>

JS

$('.arrows').hover(function () {
    $(this).find('div').toggleClass('hide');
});

hide class可以简单地显示:none;。如果需要,您还可以使用绝对定位将它们移出表格。