У меня есть сложная проблема, с которой я сражаюсь уже некоторое время.
Проблема: когда я возвращаюсь к предыдущей странице с помощью кнопки "Назад", страница отображается в ее конечном состоянии после того, как все анимации были воспроизведены. Я хочу, чтобы он отображался в исходном состоянии и воспроизводил анимацию.
Мой сайт использует некоторую базовую анимацию jQuery. Исходное состояние каждой страницы имеет основной контент, скрытый ниже нижнего края окна браузера. Когда загружается окно, основное содержание анимируется до появления в браузере. Когда посетитель нажимает на любую ссылку меню, основное содержимое снова свертывается и исчезает над верхним краем окна браузера, а затем загружается новая страница. Все это достигается с помощью этих двух бит кода:
//Animate the content up from below the browser window
$('#maincontent').animate({top: "15%"}, 2000);
и
//Animate the content up to hide above the browser window
$('#menu a').click(function(event) {
event.preventDefault();
var href = this.href;
$('#maincontent').animate({
top: '-300%'
}, 500,
function() {
window.location = href;
});
});
Вопрос: как сделать отображение страницы в исходном состоянии при нажатии кнопки возврата браузера?
Я просмотрел StackOverflow в течение некоторого времени. Люди много спрашивали об этой проблеме, но никто, похоже, не пришел к решению, которое действительно сработало. Предложения включают в себя блокирование страницы из кэша - (не работает, и даже если это сработало, не будет очень продуктивным, потому что некоторые страницы нужно кэшировать) - перезагрузка страницы (приводит к некоторым своеобразным поведением и, в конечном счете, t) - использование файлов cookie (какой-либо конкретный пример кода не указан) или с использованием php (никакой конкретный пример кода не указан нигде). Я задал несколько вопросов на этом сайте и получил ряд предложений, но ни один из них не работал в моей ситуации. Поэтому после пары бессонных ночей я хочу спросить, может ли кто-то действительно помочь в этом.
Если бы кто-нибудь успешно справился с этим вопросом, я был бы признателен, если бы вы могли поделиться своими экспертными знаниями и предложить приемлемое решение!
НОВЫЙ РЕДАКТ: Я думаю, что я нашел решение,, но я хочу, чтобы кто-то помог с синтаксисом jQuery/JavaScript. Я хочу попытаться изменить код, чтобы добавить к нему еще одно действие, но я не уверен, как его записать, так что страница перезагружается за минуту до того, как местоположение будет изменено на новую страницу Поэтому вместо второго фрагмента, показанного выше, я хочу написать что-то вроде этого:
//Animate the content up to hide above the browser window
$('#menu a').click(function(event) {
event.preventDefault();
var href = this.href;
$('#maincontent').animate({
top: '-300%'
}, 500,
function() {
// a code that reloads the same page, something like
//window.location = window.location; followed by
window.location = href;
});
});
- но я просто не знаю, как правильно писать.
Альтернативно, возможно ли reset значения css для страницы по умолчанию из файла css и снова запустить JavaScript?
Может ли кто-нибудь посоветовать правильный код?