Помогите решить гемор с якорями

M
На сайте с 19.08.2015
Offline
34
328

Здравствуйте, на сайте не работаю якоря.

т.к. есть: <base href="{$THEME}">

Есть ли возможность сделать работающими якоря? Подскажите пожалуйста...

---

Сейчас стоит скрипт: http://xn--80aikf2bag.xn--p1ai/templates/eastside/_js/anchor.js

+

	$( 'a[href*=#]' ).anchor( {

transitionDuration : 500, // время анимации в миллисекундах
transitionTimingFunction: 'linear' // тип анимации, по умолчанию 'swing'
} );

Все работает, но, если нужно сделать якорь с одно страницы на другую, то не работает.

Делаю так:

стр. 1: <a class="links" href="/page#i-1">123</a> ,

стр. 2: <h2><span id="i-1">123</span></h2>

Буду очень благодарен если кто поможет...

дани мапов
На сайте с 06.09.2012
Offline
204
#1

Ниже добавить


var elem = $('#' + window.location.hash.replace('#', ''));
if(elem) {
$('body, html').animate({
scrollTop: $(elem).offset().top
},1000);
}
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
M
На сайте с 19.08.2015
Offline
34
#2

Вот так должно выглядеть?

/*anchor*/
$( 'a[href*=#]' ).anchor( {
transitionDuration : 500, // время анимации в миллисекундах
transitionTimingFunction: 'linear' // тип анимации, по умолчанию 'swing'
} );
/*End anchor*/



var elem = $('#' + window.location.hash.replace('#', ''));
if(elem) {
$('body, html').animate({
scrollTop: $(elem).offset().top
},1000);
}

А вообще, без:


/*anchor*/
$( 'a[href*=#]' ).anchor( {
transitionDuration : 500, // время анимации в миллисекундах
transitionTimingFunction: 'linear' // тип анимации, по умолчанию 'swing'
} );
/*End anchor*/

прекрасно работает якорь на другую страницу, и <base href="{$THEME}"> не мешает.

Но перестаёт работать якоря в пределах одной страницы...

M
На сайте с 19.08.2015
Offline
34
#3

Решение проблемы:

Моя проблема была связана с тегом: <base href="{$THEME}">

Задача которого подставлять путь к нужному скрипту, например:

<link rel="stylesheet" type="text/css" href="_css/general.css" />

Где реальный url:

<link rel="stylesheet" type="text/css" href="mysite.com/templates/vasya/_css/general.css" />

Типо неплохо оптимизирует и т.д.

---

Короче я убрал этот тег, и все пути до файлов css и js прописал по старинке, и проблема ушла сама собой...

Достойного решения не нашел с помощью скриптов и других методов, надеюсь кому нибудь моя писанина будет полезна...

дани мапов
На сайте с 06.09.2012
Offline
204
#4

Ну если вам не нужен был плавный скролл к якорю, зачем надо было вообще использовать плагин?!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий