2010-11-10 5 views
2

J'ai une page Web avec seulement un onglet jQueryUI avec plusieurs onglets.Retour à la dernière position verticale dans l'onglet Onglets jQuery

L'un des onglets peut être très long, ce qui fait que le navigateur affiche la barre de défilement verticale. Lorsque les utilisateurs font défiler l'onglet, puis sélectionnez un autre onglet, qui est très petit, le navigateur cache la barre de défilement verticale. Quand ils reviennent à l'onglet long, la barre de défilement disparaît mais dans sa position supérieure

J'ai besoin de la longue languette pour me souvenir de la dernière position, donc quand les utilisateurs reviennent à l'onglet, ils peuvent continuer à lire où ils étaient avant de changer d'onglet .

Est-ce quelque chose comme cela possible?

+0

Pouvez-vous poster un exemple? Je ne suis pas sûr de comprendre exactement ce qui se passe. – jjross

Répondre

0

Vous venez de résoudre ce problème. On dirait que c'est un problème de navigateur webkit. Utilisez l'événement de tabulation 'tabsselect' pour enregistrer le point de défilement actuel et l'événement 'tabsshow' pour le restaurer.

Quelque chose comme ceci:

var _currentTab = 0; 
    var _currentScroll = 0; 
    $("#nav_tab").bind('tabsselect',function(e,ui){ 
     if (_currentTab === 0) { 
      _currentScroll = $('<your scroll item>').scrollTop(); 
     } 
     _currentTab = ui.index; 
    }).bind('tabsshow',function(e,ui){ 
     if (ui.index === 0) { 
      $('<your scroll item>').scrollTop(_currentScroll); 
     } 
    }); 
Questions connexes