Не работает скроллинг
Добрый вечер. У меня такая проблема: есть функция:
<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, время: 05:07. |