Как спозиционировать страницу на определенной строке в таблице?
От: mDmitriy Россия  
Дата: 01.06.15 08:18
Оценка:
Всем привет!

Есть таблица, в некоторых ее ячейках есть кнопки
После нажатия кнопки вызывается серверный метод, который в callback'е перегружает страницу
window.location.reload()

Как спозиционировать страницу на строку таблицы, в которой была нажата кнопка?
Спасибо...

P.S. в callback'е доступен элемент, с которого был сделан вызов
Re: Как спозиционировать страницу на определенной строке в таблице?
От: anonymous Россия http://denis.ibaev.name/
Дата: 01.06.15 09:03
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>Как спозиционировать страницу на строку таблицы, в которой была нажата кнопка?

D>P.S. в callback'е доступен элемент, с которого был сделан вызов

Использовать якорь. В ячейке разместить ссылку-якорь <a id="uniq-id-here"></a>, а в location установить соответствующий идентификатору ссылки hash.
Re[2]: Как спозиционировать страницу на определенной строке в таблице?
От: mDmitriy Россия  
Дата: 01.06.15 10:47
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Использовать якорь. В ячейке разместить ссылку-якорь <a id="uniq-id-here"></a>, а в location установить соответствующий идентификатору ссылки hash.

Якорь же будет виден в ячейке, а мне этого не нужно...
К location.url добавить "#uniq-id-here" перед reload?
Re[3]: Как спозиционировать страницу на определенной строке в таблице?
От: anonymous Россия http://denis.ibaev.name/
Дата: 01.06.15 10:51
Оценка:
Здравствуйте, mDmitriy, Вы писали:

A>>Использовать якорь. В ячейке разместить ссылку-якорь <a id="uniq-id-here"></a>, а в location установить соответствующий идентификатору ссылки hash.

D>Якорь же будет виден в ячейке, а мне этого не нужно...

Нет, не будет, в нём же нет никакого содержимого. (Между открывающим и закрывающим тегами не нужно ничего писать.)

D>К location.url добавить "#uniq-id-here" перед reload?


Да, или вместо. Я не помню уже, что сработает.
Re[4]: Как спозиционировать страницу на определенной строке в таблице?
От: mDmitriy Россия  
Дата: 01.06.15 12:11
Оценка:
Здравствуйте, anonymous, Вы писали:
A>Да, или вместо. Я не помню уже, что сработает.
чего-то не срабатывает...
<td>1
    <a id="ympgllm"></a>
</td>

window.location.href += '#' + ympgllm;
window.location.reload();

даже на уровне F5, хотя в строчку браузера пишет измененный урл (чего очень не хотелось бы)
что не так?
Re[5]: Как спозиционировать страницу на определенной строке в таблице?
От: anonymous Россия http://denis.ibaev.name/
Дата: 01.06.15 12:42
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>
D>window.location.href += '#' + ympgllm;
D>window.location.reload();
D>

D>что не так?

location.hash = 'ympgllm';
location.reload();


D>даже на уровне F5, хотя в строчку браузера пишет измененный урл (чего очень не хотелось бы)


Если не хочется менять URL, этот способ не подойдёт.
Re: Как спозиционировать страницу на определенной строке в таблице?
От: c-smile Канада http://terrainformatica.com
Дата: 01.06.15 15:20
Оценка: +1
Здравствуйте, mDmitriy, Вы писали:

D>Всем привет!


D>Есть таблица, в некоторых ее ячейках есть кнопки

D>После нажатия кнопки вызывается серверный метод, который в callback'е перегружает страницу
D>
D>window.location.reload()
D>

D>Как спозиционировать страницу на строку таблицы, в которой была нажата кнопка?
D>Спасибо...

D>P.S. в callback'е доступен элемент, с которого был сделан вызов


В качестве варианта организации persistent scroll position — писать текущую позицию scrollTop() в localStorage.
При загрузке, в $( document ).ready(), проверять наличие сохраненного значения и вызывать scrollTop(savedValue).
Re[6]: Как спозиционировать страницу на определенной строке в таблице?
От: mDmitriy Россия  
Дата: 01.06.15 16:03
Оценка:
Здравствуйте, anonymous, Вы писали:
location.hash = 'Unwrap-xxxxxxxxxxxxxxxx';
location.reload();

<a href="#Unwrap-xxxxxxxxxxxxxxxx"></a>
<table>
  <tbody>
    <tr id="Unwrap-xxxxxxxxxxxxxxxx">
      <td>1</td>
...

вот так работает, но... у меня reload() вызывает генерацию html-страницы, поэтому все прыгает обратно наверх
по F5 позиционируется нормально (IE)
как переходить без reload()?
Re[2]: Как спозиционировать страницу на определенной строке в таблице?
От: anonymous Россия http://denis.ibaev.name/
Дата: 01.06.15 16:20
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>В качестве варианта организации persistent scroll position — писать текущую позицию scrollTop() в localStorage.

CS>При загрузке, в $( document ).ready(), проверять наличие сохраненного значения и вызывать scrollTop(savedValue).

Не факт, что после перегенерации страницы позиция элемента останется прежней.
Re[3]: Как спозиционировать страницу на определенной строке в таблице?
От: iPrior Россия darkmonk9@gmail.com
Дата: 02.06.15 05:32
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


CS>>В качестве варианта организации persistent scroll position — писать текущую позицию scrollTop() в localStorage.

CS>>При загрузке, в $( document ).ready(), проверять наличие сохраненного значения и вызывать scrollTop(savedValue).

A>Не факт, что после перегенерации страницы позиция элемента останется прежней.


ну так может в document.ready находить этот элемент, его позицию и скролить до него?
Re[4]: Как спозиционировать страницу на определенной строке в таблице?
От: mDmitriy Россия  
Дата: 02.06.15 06:17
Оценка:
Здравствуйте, iPrior, Вы писали:
P>ну так может в document.ready находить этот элемент, его позицию и скролить до него?
киньте ссылку на рабочий пример, плиз...
Re[5]: Как спозиционировать страницу на определенной строке в таблице?
От: iPrior Россия darkmonk9@gmail.com
Дата: 02.06.15 06:37
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>Здравствуйте, iPrior, Вы писали:

P>>ну так может в document.ready находить этот элемент, его позицию и скролить до него?
D>киньте ссылку на рабочий пример, плиз...

да нет ссылки... примерно так:
$(document).scrollTop($('#row').position().top)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.