Wenn Sie Ihre Registerkarte Übergänge animieren (dh .tabs({ fx: { opacity: 'toggle' } });
.), Dann ist hier, was passiert:
In den meisten Fällen wird das Springen durch den Browser nicht verursacht folgendem Link ‚#‘. Die Seite springt, da in der Mitte der Animation zwischen den beiden Registerkartenfenstern beide Registerkarten vollständig transparent und ausgeblendet sind (wie in der Anzeige: keine), so dass die effektive Höhe des gesamten Registerkartenabschnitts momentan Null wird.
Und wenn ein Tabulatorabschnitt mit Nullhöhe dazu führt, dass die Seite kürzer wird, dann scheint die Seite hochzuspringen, um sie zu kompensieren, wenn sie in Wirklichkeit einfach an den (momentan) kürzeren Inhalt angepasst wird. Macht Sinn?
Der beste Weg, dies zu beheben, ist eine feste Höhe für den Registerkartenbereich einzustellen. Wenn dies nicht erwünscht ist (weil Ihr Registerkarte Inhalt variiert in der Höhe), das dann statt:
jQuery('#tabs').tabs({
fx: { opacity: 'toggle' },
select: function(event, ui) {
jQuery(this).css('height', jQuery(this).height());
jQuery(this).css('overflow', 'hidden');
},
show: function(event, ui) {
jQuery(this).css('height', 'auto');
jQuery(this).css('overflow', 'visible');
}
});
Es wird die berechnete Höhe der Scheibe vor dem Registerkarte Übergang eingestellt. Sobald die neue Registerkarte angezeigt wird, wird die Höhe auf "auto" zurückgesetzt. Der Überlauf ist auf "Versteckt" eingestellt, um zu verhindern, dass Inhalte aus dem Bereich herausbrechen, wenn Sie von einem kurzen Tab zu einem höheren Tab wechseln.
Das hat bei mir funktioniert. Hoffe das hilft.
Ernsthaft markieren die Antwort richtig ist Geck. –
Scheint, dass [Edward] (http://stackoverflow.com/users/31869/edward) und [Edt] (http://stackoverflow.com/users/32242/edt) die gleichen Benutzer sind :), unter Berücksichtigung beider posten Sie die gleichen Links und schauen Sie sich folgendes an: http://forum.jquery.com/topic/jquery-jquery-ui-tabs-screen-jumps-to-top-when-clicked – TMS
Link ist kaputt! –