Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript td与表格顶部之间的距离(可滚动div内)?_Javascript_Jquery - Fatal编程技术网

Javascript td与表格顶部之间的距离(可滚动div内)?

Javascript td与表格顶部之间的距离(可滚动div内)?,javascript,jquery,Javascript,Jquery,如何计算单击的TD元素与表顶部之间的距离?在这种情况下,偏移量将不起作用,因为表格位于可滚动的div中 我知道我可以试着数一数前面的TR行的数量,并为每一行计算其高度(因为它们可能不同)。但我正试图寻找一个更直接、更可能更快的解决方案。还有什么我忘记的方法吗 您可以在这里找到一个源代码示例 $(“#targetTable”)。在(“单击”,“td”,函数(){ 警报($(this).offset().top); }); 表,th,td{ 边框:1px纯黑; } a1 a2 a3aaaaaa

如何计算单击的
TD
元素与
表顶部之间的距离?在这种情况下,
偏移量将不起作用,因为表格位于可滚动的
div

我知道我可以试着数一数前面的
TR
行的数量,并为每一行计算其高度(因为它们可能不同)。但我正试图寻找一个更直接、更可能更快的解决方案。还有什么我忘记的方法吗

您可以在这里找到一个源代码示例

$(“#targetTable”)。在(“单击”,“td”,函数(){
警报($(this).offset().top);
});
表,th,td{
边框:1px纯黑;
}

a1
a2
a3
aa
aa
aa
aa
aa
aa
a a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 16a a17
您可以计算表的偏移量,这是一个可以从
td
元素中减去的负值,并将结果作为表顶部的td偏移量

增加这一行

alert($( this ).offset().top - $('table').offset().top);

工作演示:

$(“#targetTable”)。在(“单击”,“td”,函数(){
警报($(this.offset().top-$('table').offset().top);
});
表,th,td{
边框:1px纯黑;
}

a1
a2
a3
aa
aa
aa
aa
aa
aa
a a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 16a a17
您可以执行以下操作,并使用
position()
方法

$(“#targetTable”)。在(“单击”,“td”,函数(){
console.log($(this.position().top);
});
表,th,td{
边框:1px纯黑;
}

a1
a2
a3
aa
aa
aa
aa
aa
aa
a a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 16a a17
“您可以在这里找到源代码示例”您的问题的全部内容必须在您的问题中,而不仅仅是链接。链接会腐烂,使得问题及其答案对未来的人们来说毫无用处,人们不应该非得离开网站去帮助你。提出一个问题,最好使用堆栈片段(工具栏按钮)使其可运行()。更多:这仍然是相对于窗口顶部的,而不是相对于桌子顶部的偏移量。您确定吗?say:
The.position()方法允许我们检索元素相对于偏移父对象的当前位置。
。如果在向下滚动后单击,您可以看到高度没有增长,对我来说是这样,最大值为494。