Фиксированно меню и якори
Добрый день. Подскажите, как побороть проблему.
Есть скрипт, который скролит страницу при клике на якорь if($(".product-tabs")[0]){ function productTabs() { var currentUrl = window.location.href; var tabID = currentUrl.split("#")[1]; var tabsTop = $(".product-tabs").offset().top; if(typeof tabID !== 'undefined') { //console.log(tabID,tabID.length); $(".product-tabs .tabs-names .tab[data-id="+tabID+"]").trigger("click"); $(document).scrollTop(tabsTop); } else { $(".product-tabs .tabs-names .tab").eq(0).trigger("click"); } } productTabs(); $(window).on("hashchange", function(e) { productTabs(); }) } Работает, но проблема в том, что на сайте фикс меню, а следовательно верх наезжает на контент. Пытался из offset().top() вычесть нужное количесто пикселей - не помогло. Куда еще копнуть? Спасибо! |
Лучше сразу добавьте html-код
|
<div class="product-tabs" id="product-tabs"> <ul class="about-product"> <li id="descrip" class="active" data-page="0">Описание</li> <li id="characteristics" data-page="1" class="">Характеристики</li> <div class="infoblock"> <div id="tab1" style="display: none;"> <p style="text-align: justify;">Текст<p> </div> <div id="tab2" style="display: block;"> <div id="tab1" style="display: none;"> <p style="text-align: justify;">Текст<p> </div> </div> </ul> </div> </div> Знаю, что сделано странно (наверное, лучше на ссылки вешать событие, но отдали на доработку). Саму страницу можно тут увидеть (под фотками якоря) |
Alexbelkevich,
для начала перенесите jquery из строки 58 в строку 5 |
Цитата:
|
Alexbelkevich,
строка 9 первый пост $(window).scrollTop(tabsTop-30); |
Цитата:
|
рони,
Спасибо!) |
Часовой пояс GMT +3, время: 03:23. |