Ich denke, das ist möglicherweise nicht möglich, werde versuchen, es so gut wie möglich zu erklären. Ich habe eine Seite mit Registerkarten (jquery powered), die wie folgt gesteuert werden:
Ich verwende diesen Code, wie er von einem anderen Benutzer aus einer vorherigen Frage bereitgestellt wurde.
<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>
Dieser Code funktioniert hervorragend, wenn ich die Seite "Registerkarten" direkt besuche.
Ich muss jedoch auf einzelne Registerkarten von anderen Seiten verlinken. Dazu erhält der Code window.location.hash
die entsprechende Registerkarte.
Die Seite "springt" nicht zum Anker, weil "return false".
Dieses Ereignis wird jedoch nur bei einem Klickereignis ausgelöst. Wenn ich meine "Tabs" von einer anderen Seite aus besuche, wird der "Sprung" -Effekt ausgelöst. Um dem entgegenzuwirken, scrolle ich automatisch zum Anfang der Seite, aber ich möchte lieber, dass dies nicht passiert.
Gibt es eine Möglichkeit, "return false" beim Laden der Seite zu simulieren, um zu verhindern, dass der "Sprung" des Ankers auftritt?
hoffe das ist klar genug.
Vielen Dank