Wie deaktiviere ich den Ankersprung beim Laden einer Seite?

Ich denke, dies ist möglicherweise nicht möglich, werde versuchen, so gut wie möglich zu erklären. Ich habe eine Seite mit Registerkarten (jquery powered), die durch Folgendes gesteuert werden:

Ich verwende diesen Code, wie er von einem anderen Benutzer aus einer früheren 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 Tabs von anderen Seiten verlinken - dazu erhält der Code daswindow.location.hash zeigt dann die entsprechende Registerkarte an.

die Seite "springt" wegen "return false" nicht zum Anker.

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 es wäre mir lieber, wenn dies nicht geschehen wäre.

Gibt es eine Möglichkeit, "return false" zu simulieren, wenn die Seite geladen wird, um zu verhindern, dass der Anker "springt"?

hope das ist klar genug.

Vielen Dan

Antworten auf die Frage(32)

Ihre Antwort auf die Frage