Показать сообщение отдельно
  #1 (permalink)  
Старый 28.03.2017, 16:35
Новичок на форуме
Отправить личное сообщение для mrprim Посмотреть профиль Найти все сообщения от mrprim
 
Регистрация: 28.03.2017
Сообщений: 8

Плавный скролл к элементу в таблице. И отображение элемента посередине окна
Недавно я обращался с таким же вопросом и мне ответили В ЭТОЙ ТЕМЕ! Но ответа оказалось мало и я спрашивал в комментах. И дальше тишина.

1) Проблема в следующем. Имеем объект
<a href="name-1">

и
<tr id="name-1">


При ПЕРВОМ клике - срабатывает следующее:
var scroll_el = $(this).attr('href'); 
var dir = scroll_el.replace(/#/, ''),
    section = $('tr').filter('[id="' + dir + '"]'),
    pos = section.offset().top + section.height()/2;
$('html, #rrs_table').animate({scrollTop: pos}, 500);


При клике данное значение section.offset().top = от -2000 до 17000 в зависимости от местоположения в таблице.
А section.height()/2, которое должно прокрутку элемента остановить посередине окна браузера имеет значение = 17. следовательно сложение тысяч и "17" никак не влияет на работу функции.

2) Второй вопрос в том что при первом клике по <a> проходит скролл к объекту И ЕСЛИ ПЕРМЕННУЮ pos НЕ вернуть в значение 0, То следующий клик работает очень не предсказуемо.
Ответить с цитированием