Начнем. Есть у меня меню.
<a href="#about">О нас</a>
<a href="#products">Наша продукция</a>
<a href="#portfolio">Портфолио</a>
<a href="#jobs">Вакансии</a>
<a href="#contacts">Контакты</a>
Кликая по его ссылкам мы плавно скролим к нужным нам блокам(Тем что в href указаны).
Вот js
$('#topMenu a').on('click',function(){
var elementClick = $(this).attr("href"),
destination = $(elementClick).offset().top - 110; //Так как шапка на сайте фиксированная, то вычтем ее высоту!
$('html, body').animate({ scrollTop: destination }, 1100);
return false;
});
И все супер. Но! Теперь мы на внутренней странице. От туда переход по этим пунктам меню всегда идет на главную(у меня стоит условие в php если не главная, то выводи /#id). Но кликнув я попадаю на главную и резко перехожу к нужному id и без того -110 что в скрипте. Скрипт не сработал, страница же обновилась!
Как можно решить и сделать такой же плавный скролл?
Я придумал только 1 способ. Это при клике на ссылку записать в куку или в хранилище локальное(кому как) мой id и при переходе на главную проскролить этому элементу, а затем удалить(что бы при обновлении главной все время не скролил).
У вас есть еще идеи?