Фиксированно меню и якори
Добрый день. Подскажите, как побороть проблему.
Есть скрипт, который скролит страницу при клике на якорь
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, время: 23:21. |