Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Заставить работать скрипт для навигации по странице при переходе извне (https://javascript.ru/forum/jquery/59089-zastavit-rabotat-skript-dlya-navigacii-po-stranice-pri-perekhode-izvne.html)

geol.post 27.10.2015 15:45

Заставить работать скрипт для навигации по странице при переходе извне
 
Вводная. Есть страница "а" и страница "б". У страницы "а" собственная "шапка" в которой прописано в числе прочего два скрипта для плавного перехода к якорям на этой странице и для выделения последней нажатой ссылки. Ссылки собраны в одной колонке (расположена неподвижно и всегда на виду у пользователя) текст с якорями - во второй. Нажимаешь ссылку из первой колонки - она меняет цвет (до нажатия другой ссылки), а вторая колонка прокручивается плавно до якоря.
Хочу сделать, чтобы нажатие на странице "б" (имеющей отличную от страницы "а" шапку) ссылки на якоря страницы "а" делало при переходе на страницу "а" все то же самое, что и при обычной навигации на странице "а". То есть, чтобы открывалась страница "а", выделялась в первой колонке этой страницы отдельным цветом ссылка на нужный якорь, и страница медленно прокручивалась бы до якоря.
Я понимаю, что активация ссылки на странице "б" не влечет за собой активацию ссылки на "а", и прочее. Но ни как не соображу, как это можно сделать, так как в теме разбираюсь плохо.
Используемые на "а" скрипты выглядят так.
Окрашиваем последнюю нажатую ссылку:
$(document).ready(function(){
$('a').click(function(){
$('.services-ul li a').css("color","rgb(128,128,128)");
$(this).css("color","rgb(255,153,51)");
});
});
Медленно прокручиваем страницу:
$(document).ready(function(){
$('a[href*="#"]').bind('click.smoothscroll',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top - 40
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});

krasovsky 28.10.2015 07:23

Добавь в ссылку перехода на страницу "а" признак по которому будешь определять что нужно крутиться до такого-то якоря, и при загрузке страницы проверяй - если признак есть - крути.

рони 28.10.2015 08:00

geol.post,
выделить hash и кликнуть по этой ссылке
пример тут http://javascript.ru/forum/css-html/...tml#post376503 и тут
http://javascript.ru/forum/dom-windo...tml#post386254

geol.post 28.10.2015 15:43

Цитата:

Сообщение от рони (Сообщение 393339)
geol.post,
выделить hash и кликнуть по этой ссылке
пример тут http://javascript.ru/forum/css-html/...tml#post376503 и тут
http://javascript.ru/forum/dom-windo...tml#post386254

Все заработало, большое спасибо!

geol.post 29.10.2015 13:12

Аппетит приходит во время еды )))
 
А как дополнить код, чтобы при "ручном" пролистывании колонки с текстом во время прохода очередным якорем верха страницы - автоматически подсвечивалась соответствующая ему ссылка?

рони 29.10.2015 13:35

geol.post,
лучше поставить что-то готовое типа
http://alvarotrigo.com/pagePiling/#page2
или
http://manos.malihu.gr/repository/pa...demo/demo.html
или
http://markserbol.com/tocible/
есть и на форуме решения подсветки ссылки на видимый блок, искать нужно.


Часовой пояс GMT +3, время: 15:03.