Подтвердить что ты не робот

Получить текущую позицию прокрутки и передать ее как переменную со ссылкой?

Буду честным, я вышел из своей глубины. Я создал систему разбиения на страницы, где вы нажимаете ссылку, которая перезагружает страницу, и определенное количество элементов списка отображается в неупорядоченном списке. Когда вы нажмете его снова, он перезагрузит страницу и отобразит больше элементов. Подумайте, как Twitter показывает твиты в вашем канале.

Проблема заключается в том, когда она перезагружает страницу, на которой она находится наверху. Я бы хотел, чтобы он переместился в ту же позицию на предыдущей странице.

У меня уже есть селектор для настройки ссылки, я просто не знаю, как получить текущую позицию прокрутки, а затем передать ее на новую страницу, для которой она может перейти.

Здесь мой код:

jQuery(document).ready(function(){
    $("a[rel=more]").live("click", function(){
        //script...
    });
});

Куда я иду отсюда?

4b9b3361

Ответ 1

  • Перезагрузите элементы с помощью AJAX вместо перезагрузки всей страницы.

  • Получить и установить положение прокрутки с помощью window.pageYOffset и window.scrollTo(0, y).

    Я бы сохранил позицию в хэше URL-адреса:

    // after loading the document, scroll to the right position
    // maybe location.hash has to be converted to a number first
    $(document).ready(function() {
        window.scrollTo(0, location.hash);
    });
    
    // I'm not quite sure if reload() does preserve the hash tag.
    location.hash = window.pageYOffset;
    location.reload();
    

Ответ 2

Как сказано в gs, добавьте элементы через вызов ajax вместо перезагрузки страницы.

Если вы не хотите использовать плагин jQuery.ScrollTo. Что поддерживает все, что связано с прокруткой, о которой вы когда-либо могли мечтать о

Ответ 3

Я думаю, что вам нужно просто передать якорь HTML в конце вашей ссылки. Браузер автоматически прокрутит элемент рядом с совпадающим якорем. Пример:

<a href="page2.html#myanchor">Next page</a>

В какой-то момент в середине страницы2:

<a name="myanchor">My item N</a>

Ответ 4

в соответствии с ссылкой @Shawn Grigson, страницаYOffset не поддерживается одинаково во всех браузерах.

решение jQuery (надеюсь, действительно совместимо с кросс-браузером, хотя я еще не тестировал его) для получения и установки элемента вертикальной прокрутки scrollTop().