Я думаю, что это может быть невозможно, постараюсь объяснить как можно лучше. У меня есть страница, содержащая вкладки (с поддержкой jquery), которые контролируются следующим:
Я использую этот код, предоставленный другим пользователем из предыдущего вопроса.
<script type="text/javascript">
$(function() {
$('html, body').animate({scrollTop:0}); // this is my "fix"
var tabContent = $(".tab_content");
var tabs = $("#menu li");
var hash = window.location.hash;
tabContent.not(hash).hide();
if(hash=="") {
$('#tab1').fadeIn();
}
tabs.find('[href=' + hash + ']').parent().addClass('active');
tabs.click(function() {
$(this).addClass('active').siblings().removeClass('active');
tabContent.hide();
var activeTab = $(this).find("a").attr("href");
$(activeTab).fadeIn();
return false;
});
});
</script>
этот код отлично работает, когда я напрямую перехожу на страницу "вкладок".
однако мне нужно связать отдельные вкладки с других страниц - для этого в коде window.location.hash
отображается соответствующая вкладка.
страница не "перескакивает" на якорь из-за "return false".
Однако это событие запускается только при событии щелчка. следовательно, если я захожу на свои «вкладки» с любой другой страницы, срабатывает эффект «прыжка». Чтобы бороться с этим, я автоматически прокручиваю страницу до начала, но я бы предпочел, чтобы этого не происходило.
есть ли способ имитировать "return false" при загрузке страницы, предотвращая "прыжок" привязки.
надеюсь, это достаточно ясно.
Спасибо