Полагаю, вы анимируете переходы между вкладками? У меня та же проблема, когда прокрутка страницы переходит обратно наверх при каждом нажатии.
Я нашел это в источнике jquery:
// Show a tab, animation prevents browser scrolling to fragment,
Конечно, если у меня есть это:
$('.tab_container > ul').tabs();
$('.tab_container > ul').tabs({ fx: { height: 'toggle', opacity: 'toggle', duration: 'fast' } });
мой код прыгает наверх и раздражает (но есть анимация). Если я изменю это на это:
$('.tab_container > ul').tabs();
//$('.tab_container > ul').tabs({ fx: { height: 'toggle', opacity: 'toggle', duration: 'fast' } });
анимация вкладок отсутствует, но переключение между вкладками плавное.
Я нашел способ заставить его прокручиваться назад, но это не совсем правильное решение, так как браузер по-прежнему переходит наверх после нажатия вкладки. Прокрутка происходит между выбором вкладок событий и показом вкладок, поэтому следующий код возвращается на вашу вкладку:
var scroll_to_x = 0;
var scroll_to_y = 0;
$('.ui-tabs-nav').bind('tabsselect', function(event, ui) {
scroll_to_x = window.pageXOffset;
scroll_to_y = window.pageYOffset;
});
$('.ui-tabs-nav').bind('tabsshow', function(event, ui) {
window.scroll(scroll_to_x, scroll_to_y);
});
Я опубликую дальнейший прогресс.