2013-10-08 1 views
4

Existe-t-il une meilleure manière/extension des onglets qui peuvent gérer/fournir des contrôles pour faire défiler les onglets lorsqu'il y a trop d'onglets?Onglets de l'interface utilisateur de jQuery: ajouter des contrôles de défilement lorsque trop d'onglets

J'ai trouvé certains, mais ils ne fonctionnent pas avec la dernière jquery-ui-1.10.3. Par exemple, Jizmoz Tabs est beaucoup mieux en option mais ne fonctionne pas avec un nouvel ui ou avec jquery 1.9.1.

D'autres suggestions?

Jizmoz Tabs JSFIDDLE:

$("#tabs").tabs({ 
    scrollable: true, 
    changeOnScroll: false, 
    closable: true 
}); 
+0

Peut ne pas être ce que vous cherchez, mais vous pouvez essayer onglets twitter-bootstrap http://getbootstrap.com/ il ne peut pas avoir un Faites défiler pour les onglets mais c'est très réactif. – Trevor

+0

est de loin la meilleure solution pour ce faire. Mais comme vous dites ne fonctionne qu'avec la version spécifiée: \ ... tout le monde peut le refactoriser pour la dernière version de jquery et ui? ce serait génial! – Kreker

+0

Vérifiez http://aamirafridi.com/jquery/jquery-scrollable-tabs demo à l'adresse http://jquery.aamirafridi.com/jst/#examples –

Répondre

1

Utilisez la bibliothèque this. jquery-migrate-1.2.1.js doit être référencé. Exemple d'utilisation:

$("#tabs").xtabs({ 
     scrollable: true, 
     changeOnScroll: false, 
     closable: true 
    }); 

ceci est mis à jour Jizmoz onglets jsFiddle, qui est aussi un changement de jquery scrollable tab première version. Je l'utilise avec jquery-2.1.1 et tout fonctionne bien.

1

Cette seule ligne fonctionne comme par magie:

$(".ui-tabs-nav").hover(function() { $(this).css("height", "auto"); $(this).css("overflow", "hidden"); $(this).css("overflow", "auto"); }, function() { $(this).animate({ height: "32px" }, 600); }); 

Il affiche uniquement les pleins onglets en vol stationnaire au-dessus de l'en-tête de l'onglet, sinon il affiche seulement la première rangée d'onglets (32px par défaut, mais le changement en fonction de vos besoins).

0
replace "_super._create.apply(self);", with "self._superApply(self);" 
replace "_super._update.apply(self);", with "self._superApply(self);" 

Cela fonctionne mais avec quelques erreurs.

+0

Pourriez-vous expliquer un peu votre code? De quelles erreurs parlez-vous? – brodoll

0

J'ai créé un plugin pour cela qui utilise le comportement de tabulation de tabulation de style Chrome.

INITIALISER

$(".tabpanel").tabs().tabs('overflowResize'); 

Demo

GitHub

Questions connexes