Доброгог времени суток. Мне необходимо, чтобы сслки в меню имели href типа #див1 и при клике по ним страница прокручивалась до указанного дива. Но друпал говорит, что в адресе ссылки это прописать нельзя. Попытка изменить ссылки средствами яваскрипт тоже ни к чему не привела, друпал автоматически добавляет к ссылке http://test1.ru, в итоге вместо #див1 ссылка выглядит как ttp://test1.ru/#див1. Что можно сделать? спасибо
Комментарии
Неправильно значит делали. Для ссылки нужно перехватить события и не отдать его браузеру
Вы бы не могли по-подробнее, я в ЯС никакой вообще, что значит "перехватить события и не отдать его браузеру" и как это сделать?
я просто находил нужную ссылку при помощи getelementid и менял свойство href
Сделать эти ссылки не через меню, а просто в шаблоне написать руками
нужно не менять href, а перехватывать событие нажатия на ссылку. В друпале включен jQuery, можете использовать удобный селекторы вместо getElementById
window.scroll().... //скроллите или делаете че там вам нужно
return false; //отменить обработку события браузером
});
ydv
Нет, в шаблоне нельзя, в данном случае надо именно через меню.
boneg
Спасибо, работает!!
$('#id-15').click(function(){
window.location = "#footer"; //скроллите или делаете че там вам нужно
return false; //отменить обработку события браузером
});
window.location = "javascript:void(0)"; //скроллите или делаете че там вам нужно
return false; //отменить обработку события браузером
});
var li2 = document.getElementById('id-15');
li2.onclick = "fff()"
function fff () {
var jakor = document.getElementById('block-views-eeaf45758b6f708d36a59550934c2eae'),
jakorTop = jakor.offsetTop;
$('html').animate( { scrollTop: jakorTop - 70}, 600 );
};
Почему плавно скролится до якоря только в опере?