【发布时间】:2017-06-17 02:12:42
【问题描述】:
我有一个显示一些信息的表格。我想要完成的是允许用户单击一行,并在该行下方显示与该行中的信息相关的注释。
我正在尝试对其进行设置,以便我可以使用漂亮的 CSS 过渡功能,因此仅将注释放在信息行下方的隐藏的、绝对定位的行中是不可能的。 CSS 过渡不适用于 position 样式。
我已经进行了设置,以便注释将在 div 中。当用户单击表格中的一行时,onClick 事件会调用一个 Javascript 函数,该函数使 div 可见。现在我只需要让 div 在选定的表格行下对齐。
如何获取表格行的高度和位置?我想我可以用它来定位div。或者,有没有更好的方法来做到这一点?
这是我所拥有的一个示例:
<style>
.emarNote{
transition: all .3s linear;
-o-transition: all .3s linear;
-moz-transition: all .3s linear;
-webkit-transition: all .3s linear;
}
</style>
<script type="text/javascript">
function showEmar(id)
{
if (document.getElementById("emarNote"+id).style.visibility == "hidden")
{
document.getElementById("emarNote"+id).style.visibility = 'visible';
document.getElementById("emarNote"+id).style.opacity = 1;
}
else
{
document.getElementById("emarNote"+id).style.opacity = 0;
document.getElementById("emarNote"+id).style.visibility = 'hidden';
}
}
</script>
<table>
<tr onClick="showEmar(1)">
<td>Info</td>
<td>Info</td>
</tr>
</table>
<div id="emar1" class="emarNote" style="visibility:hidden; opacity:0; position:absolute;">
note about info
</div>
【问题讨论】:
-
你可以在这个项目中使用 jQuery 吗?这可能是实现目标的最简单(尽管不一定是最佳)方法。以跨浏览器的方式可靠地计算高度/宽度是一项非常重要的任务,无需 JS 库来为您完成。
-
jQuery 就可以了。遗憾的是,我还没有了解太多,所以任何新的接触都会有所帮助。
标签: css html-table position css-transitions