сохранение расстояния прокрутки и передача его по URL

#php #javascript #html #scroll

#php #javascript #HTML #прокрутка

Вопрос:

Я пытаюсь создать ссылку, которая при нажатии способна запускать функцию javascript, которая подсчитывает, как далеко вниз была прокручена страница, а затем отправляет это значение через URL … я в основном работаю с использованием php, поэтому я не очень хорошо разбираюсь в javascript

Моя ссылка

     <?php    
            echo '<a href="test.php?scroll=';
    ?&&t;
            <script&&t;
                   $(document).scrollTop();
            </script&&t;
    <?php    
            echo '"&&t;add to cart
            </A&&t;';
    ?&&t;
  

Функция Javascript:

 <script&&t;
    $(document).scroll(function() {
        console.lo&($(document).scrollTop());
})
  

Ответ №1:

Разве вы не можете просто использовать привязки ссылок?

http://www.w3.or&/TR/html401/struct/links.html#h-12.2.3

Комментарии:

1. нет, я хочу, чтобы это было плавно. ссылка загрузит php-скрипт, а затем отправит пользователя обратно на эту страницу

2. Почему привязка не достигает того же результата?

3. теги привязки переходят в предопределенное местоположение

4. Вы хотите, чтобы посетители нажимали на ссылку, переходили по этой ссылке, возвращались назад и затем прокручивали страницу до этой ссылки? Если вы присвоите ссылке уникальный идентификатор, вы можете добавить URL перенаправления с #<link_id&&t; и работа будет выполнена.

5. нет, ссылки запускают php-скрипт и затем отправляют обратно на предыдущую страницу. пользователь не должен знать, что он покинул страницу, за исключением момента, когда страница переходит к началу…

Ответ №2:

Вам нужно использовать javascript для динамического обновления данных, которые вы хотите отправить, когда пользователь нажимает. Вот примеры кода HTML / javascript, чтобы дать вам суть, но мой jQuery бесполезен:

Использование формы:

 <form action="test.php" name="theForm"&&t;
   <input type="hidden" name="scroll" value="0" /&&t;
   <input type="button" value"Add to cart" /&&t;
</form&&t;

<script&&t;
$(document).scroll(
  function() {
    document.theForm.scroll.value = $(document).scrollTop();
  }
);
</script&&t;
  

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