Myślę, że może to nie być możliwe, postaram się wyjaśnić najlepiej, jak potrafię. Mam stronę zawierającą zakładki (obsługiwane przez jQuery), kontrolowane przez:
Używam tego kodu podanego przez innego użytkownika z poprzedniego pytania.
<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>
ten kod działa świetnie, gdy bezpośrednio odwiedzam stronę „karty”.
jednak muszę linkować do poszczególnych zakładek z innych stron - aby to zrobić, kod pobiera window.location.hash
i wyświetla odpowiednią zakładkę.
strona nie „przeskakuje” do kotwicy z powodu „return false”.
to zdarzenie jest jednak wyzwalane tylko w przypadku kliknięcia. dlatego też, jeśli odwiedzę moje „zakładki” z dowolnej innej strony, wywoływany jest efekt „skoku”. Aby temu przeciwdziałać, automatycznie przewijam na górę strony, ale wolałbym, żeby tak się nie stało.
czy istnieje sposób, aby zasymulować „return false” podczas ładowania strony, zapobiegając wystąpieniu „skoku” kotwicy.
mam nadzieję, że to jest wystarczająco jasne.
dzięki