Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   scroll на нужную строку таблицы в div с фиксированной высотой. (https://javascript.ru/forum/events/55132-scroll-na-nuzhnuyu-stroku-tablicy-v-div-s-fiksirovannojj-vysotojj.html)

Casufi 15.04.2015 10:56

scroll на нужную строку таблицы в div с фиксированной высотой.
 
Есть кусок страницы вот с такой разметкой, нужно определить видна ли определенная строка и если нет, спозиционироваться на ней
<div id="content_box" style="height: 437px;overflow-x: auto; overflow-y: scroll; position: relative; width: 100%;">
  <table style="height: auto;" tabindex="0">  
  <tbody>
  <tr> <td></td><td></td>...</tr>
  ...
  <tr id="12345"> <td></td><td></td>...</tr>
  ...
  <tr> <td></td><td></td>...</tr>
  <tr> <td></td><td></td>...</tr>
</tbody></table></div>

Пробую позиционироваться вот таким образом
var div = $('#content_box');
var row_ = div.find("tr#12345");			
console.log(row_.offset().top);
console.log(row_);
div.scrollTop(row_.offset().top);

Но таблица позиционируется совершенно на другой строке, и если выполнять этот код два раза подряд, таблица прыгает между строками

ksa 15.04.2015 11:13

Может просто по колхозному
top.location='#12345';

Casufi 15.04.2015 11:24

Это если у строки есть ID, отлично работает, спасибо. А вот как быть если строка выбирается селектором ? У меня в оригинале выборка делается так "tr[data-uid='"+dataItem.uid+"']"

Как вариант буду в коде проставлять ID строке и позиционироваться вашим методом.

ksa 15.04.2015 11:49

Цитата:

Сообщение от Casufi
А вот как быть если строка выбирается селектором ?

Делай нормальный тестовый пример... Может найдутся желающие тебе на нем что-то показать. ;)


Часовой пояс GMT +3, время: 11:55.