Задать вопрос
@3emik

Как прокрутить страницу на 50px вверх после перехода по ссылке с якорем?

Есть страничка сайта, там расположено 4 таба (с 2-3 вкладками каждый).
При переходе с других страниц по ссылке с якорем на странице с табами открывается нужная вкладка в нужном табе и прокручивается автоматически до нужного элемента (div с содержанием вкладки) страницы.
Но эта прокрутка осуществляется до верхнего края div'a, и соответственно верхняя часть окна браузера совпадает с верхней границей div'a. И получается, что пропадают вкладки таба и заголовок.

Как подправить скрипт, чтобы автоматически при переходе по ссылкам с якорями с других страниц, после загрузки нужной страницы и автоматической прокрутки к нужному табу происходила еще автоматическая прокрутка на 50px вверх?

Использую такой код:
(function($) {
$(function() {

$('ul.tabs').delegate('li:not(.current)', 'click', function() {
$(this).addClass('current').siblings().removeClass ('current')
.parents('div.tabs-content').eq(0).find('>div.box').hide().eq($(this) .index()).fadeIn(500).show();
})

var tabIndex = window.location.hash.replace('#tab','')-1;
if (tabIndex != -1) $('ul.tabs li').eq(tabIndex).click();

$('a[href*=#tab]').click(function() {
var tabIndex = $(this).attr('href').replace(/(.*)#tab/, '')-1;
$('ul.tabs li').eq(tabIndex).click();
});
})
})(jQuery)
  • Вопрос задан
  • 468 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Steppp
Ничего не понятно, но очень интересно)

В верстке сделай дополнительно div с якорем, и на позициях подними div на 50px вверх
Ответ написан
@3emik Автор вопроса
Вея спасибо! Решил добавлением
$('html,body').animate({ scrollTop: $(this).offset().top - 100 }, 500);
в 7ю строку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы