Доброго времени суток.
Столкнулся с такой проблемой.
Мне нужно реализовать такой алгоритм.
1)Находясь на дочерней странице, мы кликаем по элементу меню и нас переносит на главную страницу.
2)После перехода, происходит мягкий скролл к ому элементу(якорю) который был выбран.
Проблема такая, по условию, если нету на странице(на который ссылается данный пункт меню) мы переходим на главную страницу. После клика происходит следующие, начинается загрузка страницы, и срабатывает сразу скролл.
А мне нужно сделать так, только после того как загрузится страница, будет происходить скролл.
jQuery(function($) {
var homepage = 'http://rcamedia.ru/';
$('a[href*="#"]').live('click', function(event) {
var attrib = $(this).attr('href');
console.log(attrib);
if (attrib == "#") {}
else if($("div").is(attrib)) {}
else {
window.location = homepage;
$(function() {
if(window.location.hash) {
var target = window.location.hash;
// убираем хеш из строки(отключаем дефолтный "прыжок")
window.location.hash = "";
// аниммируем скролл
$('html, body').animate({
scrollTop: $(target).offset().top
}, 300, function () {
// возыращаем хеш
window.location.hash = target;
});
}
});
}
event.preventDefault(); //сам скрол
var target_offset = $(this.hash).offset() ? $(this.hash).offset().top : 0;
//change this number to create the additional off set
var customoffset = 85;
$('html, body').animate({scrollTop:target_offset - customoffset}, 500);
});
<ul id="menu-topen-1" class="menu">
<li class="menu-item"><a href="#">Solutions</a></li>
<li class="menu-item"><a href="#">Team</a></li>
<li class="menu-item"><a href="#">Blog</a></li>
<li class="menu-item"><a href="#">Contact</a></li>
</ul>