通过单击表行将表行滚动到div的顶部

时间:2018-10-31 20:41:47

标签: javascript jquery html css

基本上,我的表有很多行。我要做的是将我单击的行滚动到包含表格的div顶部。

这是我从下面开始的StackOverflow问题: How to scroll table to particular tr programmatically

基本上,此人可以通过手动输入第n个子代号,使表跳至所需的表行:

var s = $("table tbody > tr:nth-child(20)").position();
$( "div" ).scrollTop( s.top );

这是他致力于显示的小提琴,用于手动设置代码http://jsfiddle.net/4Z7Z9/

中的第n个孩子。

这是我更改代码的方式

function scrollThisToTop(row) {
    var s = $("table tbody > tr:nth-child(" + row + ")").position();
    $( "div" ).scrollTop( s.top );
}

这是我正在研究的小提琴:http://jsfiddle.net/4Z7Z9/210/

任何帮助都将不胜感激!

2 个答案:

答案 0 :(得分:0)

我能够通过3个简单的步骤使它运行。在小提琴HERE

中检出解决方案

您将需要添加点击功能以及所含div的ID。

新功能:

function scrollThisToTop(row) {

  // Get the id of the row
  var myElement = row.id;

  // Get the variable for the top of the row
    var topPos = row.offsetTop;

  // The container div top to the row top
  document.getElementById('container').scrollTop = topPos;

}

点击功能:

$('tr').on("click", function () {
    scrollThisToTop(this);
});

Div ID:

<div id="container">

答案 1 :(得分:0)

这对您有帮助吗?

$('table tr').bind('click', function() {
   var s = $('table').position();
   $('div').scrollTop(s);
});