@I_want_to_know

Как настроить поведение кнопки «Назад»?

Как настроить поведение кнопки "назад"?
Проблема вот в чем:
По задумке (далеко не новой), поведение кнопки должно быть такое:
Когда страница загружена (на страницу только перешли и ни чего не делал пользователь), под header должна выводиться кнопка "назад", но при скроле вниз, эта кнопка должна пропадать (чтобы глаза не мозолила).
При этом, при малейшем скроле вверх (независимо как сильно просколена страница) кнопка должна появляться.

Что происходит сейчас:
При переходе на страницу, кнопка не выводится, но если проскролить вниз, а затем вверх до самого хедера, кнопка появляется.
в текущей реализации минусов несколько
1. нет кнопки при загрузке страницы
2. что бы кнопка появилась нужно делать скрол вниз вверх
3. что бы кнопка появилась, нужно скролить до самого верха.

Вопрос:
Как решить задачу, чтобы задумка заработала корректно?

Вот что я наваял:
Function.php
function previous_page_button() {
	if (!is_front_page()) {
			echo '<a href="' . wp_get_referer() . '" class="previous-page-button">';
			echo '<i class="fa fa-arrow-left" aria-hidden="true"></i>';
			echo '</a>';
	}
}
add_action('wp_footer', 'previous_page_button');


JS:
jQuery(document).ready(function($) {
	var previousScroll = 0;
	$(window).scroll(function() {
			var currentScroll = $(this).scrollTop();
			if (currentScroll > 100) {
					$('.previous-page-button').fadeOut();
			} else if (currentScroll < previousScroll - 5) {
					$('.previous-page-button').fadeIn();
			}
			previousScroll = currentScroll;
	});
});

Кроме того, не могу понять как решить вторую проблему:
Если я с Главной перехожу на другую страницу, а потом нажимаю на кнопку "назад", по меня перекидывает обратно на главную.
НО если я с Главной перешел на другую страницу, а на этой странице перешел еще куда, то в этом случае, сколько бы я раз не нажимал на кнопку назад, меня не перекидывает на главную.
Другими словами:
с главной перехожу на страницу записей, затем перехожу на запись.
С записи клацаю на кнопку Назад, меня перекидывает на страницу всех записей, клацаю еще раз и попадаю на запись с которой только что ушел. И так до бесконечности.
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 1
YBB
@YBB
И так до бесконечности.

Это потому что используете ссылку на реферрер, т.е. предыдущую страницу. Навигацию "по цепочке назад" дает ссылка <a href="javascript:history.back()">
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы