Не работает скроллинг
Добрый вечер. У меня такая проблема: есть функция:
<script type="text/javascript">
function scrolling() {
var elementClick = $(this).attr("href");
var destination = $(elementClick).offset().top - 100;
if ($.browser.safari)
{
$('body').animate({ scrollTop: destination }, 1100); //1100 - скорость прокрутки
}
else
{
$('html').animate({ scrollTop: destination }, 1100);
}
}
</script>
Хочу чтобы в меню при нажатии на кнопку вызвать эту функцию и скроллить, но оно не работает. Код меню. <ul> <li><a onclick="scrolling ()" href="#hdr">Главная</a></li> <li><a onclick="scrolling ()" href="#content">Наши услуги</a></li> <li><a onclick="scrolling ()" href="#princip">Наши принципы</a></li> <li><a onclick="scrolling ()" href="#shema">Как мы работаем</a></li> <li><a onclick="scrolling ()" href="#raboty">Наши работы</a></li> </ul> Что я сделал не так? |
Dryn9,
не отменил действие по умолчанию на ссылке назначил клик в теге сделал бесполезный if не воспользовался поиском по форуму |
|
Лучше сделать по другому:
<ul>
<li><a href="#hdr">Главная</a></li>
<li><a href="#content">Наши услуги</a></li>
<li><a href="#princip">Наши принципы</a></li>
<li><a href="#shema">Как мы работаем</a></li>
<li><a href="#raboty">Наши работы</a></li>
</ul>
$(document).on('click', 'a[href]', function() {
if((!this.target || this.target == '_self') && this.getAttribute('href').charAt(0) == '#') {
var elem = $(this.hash);
if(elem) {
('body, html').animate({scrollTop: elem.offset().top - 100}, 1100);
}
}
});
|
Ruslan_xDD,
Цитата:
|
Цитата:
хотябы elem.length |
В догонку ))
Цитата:
И если уж и за бить на такое, то тут: Цитата:
Цитата:
|
Мне надо чтобы не для всех элементов, а именно для этих.
|
Dryn9,
выкиньте из вашего скрипта строки 5,6,7,8,9,10, и 12. если не смогли осилить подсказки |
| Часовой пояс GMT +3, время: 23:39. |