Как отключить якорь “скачки” при загрузке страницы?

Я думаю, что это не может быть возможным, постараюсь объяснить как можно лучше.

У меня есть страница, содержащая вкладок (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 затем показана вкладка уместным.

страница не “прыгать” на якорь из-за “возвратить false”.

это событие, однако, лишь срабатывает на событие Click. следовательно, если я навещаю своих “закладок” с любой другой страницы, “прыжок” эффект срабатывает.

Для борьбы с этим я автоматически выделите ТЭ верхней части страницы, но я предпочел бы этого не произошло.

есть ли способ, чтобы имитировать “возвратить false” при загрузке страницы, предотвращая якорь “прыгать” от происходящих.

надеюсь, это достаточно ясно.

спасибо

Попробовать это, чтобы предотвратить клиента от любого рода вертикальной прокрутки на hashchanged (внутри вашего обработчика событий):

var sct = document.body.scrollTop; document.location.hash = '#next'; // or other manipulation document.body.scrollTop = sct; 

(браузер перерисовывать)

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*