Si vous appréciez ce plugin, pensez à faire un don : http://www.kyrielles.net/sliderkit, cliquer sur "Donation".
L'objectif de Slider Kit est de simplifier l'utilisation d'animations jQuery frontoffice basiques de type 'slider' (défilement d'actualités, diaporama, galeries photos, carrousels, menu avec onglets, etc.) en utilisant un unique plugin. La différence principale entre les animations résidant dans le CSS.
Tous les téléchargements de Slider Kit sont disponibles ici: http://code.google.com/p/sliderkit/downloads/list.
Comme beaucoup de plugins jQuery, Slider Kit est un mélange subtil (et indissociable) de HTML, CSS et jQuery. Le code jQuery en lui-même ne se préoccupe ni du design ni du CSS (hormis le calcul nécessaire de certaines tailles). Pour obtenir le design souhaité, il vous faudra donc travailler sur une feuille de style CSS personnalisée.
Mais avant tout, étudions rapidement le code HTML.
Classe CSS : [cssprefix].
Ce conteneur englobe tous les autres. Sauf exception, sa hauteur et sa largeur doivent être spécifiées dans le CSS (car les conteneurs enfants ont une position absolue).
Classe CSS : [cssprefix]-panel.
Placer dans cet élément le contenu à animer. Cela peut être n'importe quoi : images, texte, actus, etc.
Classe CSS : [cssprefix]-go-btn [cssprefix]-go-prev.
Ce bouton va à l'élement précédent. Il peut être placé n'importe où dans le conteneur principal.
Classe CSS : [cssprefix]-go-btn [cssprefix]-go-next.
Ce bouton va à l'élement suivant. Il peut être placé n'importe où dans le conteneur principal.
Classe CSS : [cssprefix]-panel-textbox.
Cet élément est surtout utilisé comme commentaire sur les photos. Il peut être placé n'importe où au-dessus du panneau de contenu.
Classe CSS : [cssprefix]-nav.
Ce bloc contient les vignettes pour la navigation. Le contenu des vignettes peut être du texte ou des images.
Classe CSS : [cssprefix]-nav-btn [cssprefix]-nav-prev.
Ce bouton fait défiler le carrousel vers la droite. Il doit être placé dans le conteneur de navigation.
Classe CSS : [cssprefix]-nav-btn [cssprefix]-nav-next.
Ce bouton fait défiler le carrousel vers la gauche. Il doit être placé dans le conteneur de navigation.
[cssprefix] la valeur par défaut du préfixe CSS est "sliderkit". Vous pouvez la remplacer par ce que vous voulez.
Voici une stucture HTML représentative à utiliser avec Slider Kit:
La feuille de style principale de Slider Kit est sliderkit-core.css.
Elle regroupe les styles nécessaires au fonctionnement du plugin. Ces styles peuvent biensûr être copiés, déplacés et adaptés à votre convenance.
En complément de la feuille de styles principale, vous devez écrire une CSS personnalisée ("skin") afin d'obtenir un design sur mesure.
Pour vous aider dans cette tâche (parfois difficile !), j'ai fabriqué plusieurs exemples de skins CSS (consulter la section "Démos" plus haut).
La feuille de style des démos est sliderkit-demos.css. N'hésitez pas à parcourir ce fichier !
Par souci de compatibilité inter-navigateurs, j'ai ajouté 3 fichiers CSS pour gérer les exceptions d'Internet Explorer de Microsoft (essentiellement pour gérer les effets d'opacité et de transparence) :
Le fichier javascript principal est actuellement jquery.sliderkit.1.9.1.pack.js (packed).
Voir la liste des extensions disponibles.
Consultez la liste 'Options' ci-dessous.
(string) valeur par défaut : "sliderkit". Le préfixe à utiliser sur les noms de classe CSS.
(int) valeur par défaut : 0. Définit sur quel élément commencer (le premier étant 0).
(boolean) valeur par défaut : true. Active le défilement automatique.
(int) valeur par défaut : 4000. Vitesse du défilement automatique (ms).
(boolean) valeur par défaut : false. Si la valeur est "true", le défilement automatique ne s'arrêtera pas au survol de la souris.
(boolean) valeur par défaut : false. Active la navigation avec la molette de souris.
(boolean) valeur par défaut : false. Active la navigation au clavier. Très basique pour le moment (flèche gauche/droite).
(boolean) valeur par défaut : false. Active le défilement en boucle (le carrousel revient tout seul en fin ou début de lecture).
(int) valeur par défaut : 5. Définit combien de vignettes seront visibles dans la "lucarne" de navigation.
(boolean) valeur par défaut : false. Si la valeur est "true", l'animation des panneaux de contenu sera déclenchée au survol des vignettes (plutôt qu'au clic).
(boolean) valeur par défaut : false. Si la valeur est "true", le plugin fera en sorte de centrer la "lucarne" de navigation dans le conteneur de navigation.
(boolean) valeur par défaut : false. Si la valeur est "true", cette option fera défiler le carrousel en continu au survol des boutons de ligne (en parallèle, l'option 'scrolleasing' doit avoir la valeur "linear").
(boolean) valeur par défaut : false. Si la valeur est "true", cette option fera défiler le carrousel au clic sur les premières et dernières vignettes d'une ligne.
(boolean) valeur par défaut : true. Si la valeur est "false", cette option permet de faire défiler la barre de navigation indépendamment des panneaux de contenu.
(string) valeur par défaut : "sliding". Définit le type d'animation pour le défilement du carrousel. Valeurs possibles : "sliding", "none".
(function) valeur par défaut : function(){}. Fonction appelée avant l'animation du carrousel.
(function) valeur par défaut : function(){}. Fonction appelée après l'animation du carrousel.
(int) valeur par défaut : égale à la valeur de l'option 'shownavitems'. Définit combien de vignettes seront déplacées lors du défilement du carrousel (en cliquant sur les boutons de ligne). Ce nombre doit être inférieur ou égal à la valeur de l'option 'shownavitems'.
(int) valeur par défaut : 600. Vitesse du défilement du carrousel (ms).
(string) valeur par défaut : "swing".
Ajoute un effet de 'easing' sur le mouvement du carrousel.
Les fonctions de 'easing' par défaut de jQuery sont "swing" et "linear". D'autres fonctions sont disponibles en utilisant le plugin jQuery Easing : http://gsgd.co.uk/sandbox/jquery/easing/.
(string) valeur par défaut : "fading". Définit le type de transition lors de l'animation des panneaux de contenu. Valeurs possibles : "fading", "sliding", "none". Depuis v1.9 : "fancy" (voir plus bas l'option "imagefx")
(int) valeur par défaut : 700. Vitesse de la transition entre les panneaux de contenu (ms).
(string) valeur par défaut : "swing".
Ajoute un effet de 'easing' sur la transition entre les panneaux de contenu.
Effets disponibles : .
Les fonctions de 'easing' par défaut de jQuery sont "swing" et "linear". D'autres fonctions sont disponibles en utilisant le plugin jQuery Easing : http://gsgd.co.uk/sandbox/jquery/easing/.
(string) valeur par défaut : "none". Ajoute un effet de transition sur le premier panneau de contenu affiché. Pour le moment il n'y a que 2 valeurs possibles : "fading" ou "none".
(function) valeur par défaut : function(){}. Fonction appelée avant l'animation des panneaux de contenu.
(function) valeur par défaut : function(){}. Fonction appelée après l'animation des panneaux de contenu.
(boolean) valeur par défaut : false. Si la valeur est "true", les boutons 'Go' apparaitront au survol de la souris sur les panneaux de contenu.
(boolean) valeur par défaut : false. Active la navigation au clic sur les panneaux de contenu.
(boolean) valeur par défaut : false. Carrousel vertical.
(boolean) valeur par défaut : false. Défilement vertical des panneaux de contenu (avec l'option "panelfx" égale à "sliding").
(boolean) valeur par défaut : false. Nécessaire pour construire un menu par onglets.
(boolean) valeur par défaut : false. Dans un menu par onglets, permet de libérer la hauteur des panneaux de contenu (ils sont placés en position relative). Dans ce cas l'option "panelfx" ne peut pas prendre la valeur "sliding").
(boolean) valeur par défaut : true. Permet à l'utilisateur de faire défiler rapidement les éléments du slider. Si cette option est définit en 'false', l'utilisateur devra attendre la fin d'une transition pour pouvoir lancer la suivante.
(boolean) valeur par défaut : false. Active l'extension Slider Kit 'Counter'.
(boolean/array) valeur par défaut : false. Active l'extension Slider Kit 'DelayCaptions'.
(boolean/array) valeur par défaut : false. Active l'extension Slider Kit 'Timer'.
(array) valeur par défaut : false. Paramètres de l'extension Slider Kit 'ImageFx'. A utiliser avec la transition 'fancy'.
(boolean) valeur par défaut : false. En mode 'debug', le script s'arrête sur les erreurs d'exécution et renvoie un code d'erreur. Voir la rubrique Dépannage.
A partir de la version 1.7, les nouvelles fonctionnalités de Slider Kit seront ajoutées en tant qu'extensions, afin de limiter le poids du plugin principal.
Prenons l'exemple de l'extension 'Counter' :
Permet d'affichier des compteurs de panneaux ou de lignes. Voir la page de démo pour plus de détails.
Permet d'animer l'apparition des boites de texte sur les panneaux de contenu. Voir la page de démo pour plus de détails
(int) valeur par défaut : 400. Délai d'attente avant d'afficher la boite de texte (en ms).
(string) valeur par défaut : "bottom". Uniquement pour la transition "sliding" : détermine le point de départ du slide. Valeurs possibles : "top", "right", "bottom", "left".
(string) valeur par défaut : "sliding". Type de transition. Valeurs possibles : "sliding", "fading".
(int) valeur par défaut : 300. Durée de la transition (ms).
(string) valeur par défaut : "linear". Effet optionnel sur la transition.
(boolean) valeur par défaut : false. Si vrai, empêche le changement de panneau durant l'animation de la boite de texte.
Permet d'afficher le temps restant entre 2 photos, sous la forme d'une barre de progression animée. Voir la page de démo pour plus de détails.
(float) valeur par défaut : 1. Valeur d'opacité sur la fin de l'animation. Valeurs possibles : nombres à une décimale entre 0 à 1. Ex : 0.2.
'ImageFx' est inspiré du plugin jQuery 'jqFancyTransitions', créé par Ivan Lazarevic (exemples et documentation ici: http://www.workshop.rs/projects/jqfancytransitions).
Cette extension propose 4 types de transitions pour les images.
Elle ne s'applique qu'aux images. Voir la page de démo pour plus de détails.
(string) valeur par défaut : 'curtain'. Type de transition. Valeurs possibles : 'curtain', 'zipper', 'wave', 'fountain', 'random' (aléatoire).
(int) valeur par défaut : 60. Temps d'attente entre 2 bandes, en ms. Plus cette valeur est élevée, moins rapide est l'animation.
(int) valeur par défaut : 500. Durée de l'animation de chacune des bandes, en ms. Plus cette valeur est élevée, moins rapide est l'animation.
(int) valeur par défaut : 10. Nombre de bandes.
(string) valeur par défaut : 'default'. Valeurs possibles : 'default' (bandes verticales), ou 'reverse' (bandes horizontales).
(string) valeur par défaut : 'default'. Position de départ des bandes. Valeurs possibles : 'default' (la position par défaut est 'haut' si l'orientation des bandes est verticale, et 'gauche' si l'orientation est horizontale), ou 'reverse' (la position inversée est 'bas' si l'orientation des bandes est verticale, et 'droite' si l'orientation est horizontale).
(string) valeur par défaut : 'default'. Valeurs possibles : 'default' (la direction par défaut est 'haut ver bas' si l'orientation des bandes est verticale, et 'gauche vers droite' si l'orientation est horizontale), ou 'reverse' (la direction inversée est 'bas vers haut' si l'orientation des bandes est verticale, et 'droite vers gauche' si l'orientation est horizontale). Valeur supplémentaire : 'auto' (pour l'effet 'curtain' seulement).
Afin d'ajouter des fonctionnalités à votre slider, vous pouvez récupérer un objet Slider Kit et l'utiliser dans un code personnalisé.
Voir la page de démo pour plus de détails.
Démarre l'auto-scrolling.
Arrête l'auto-scrolling.
Démarre l'auto-scrolling et change la classe CSS du bouton 'Play'.
Arrête l'auto-scrolling et change la classe CSS du bouton 'Play'.
Anime le conteneur de navigation vers la ligne précédente.
Anime le conteneur de navigation vers la ligne suivante.
Affiche le panneau précédent (ou le dernier si on est au début).
Affiche le panneau suviant (ou le premier si on est à la fin).
Affiche un panneau en fonction de la valeur 'index' (position).
Met un élément de la navigation en surbrillance, en fonction de la valeur 'index' (position).
Si vous rencontrez des difficultés en utilisant le plugin, commencez par les vérifications basiques :
Pour vous aider à trouver ce qui cloche dans votre installation de Slider Kit,vous pouvez activer le mode déboggage :
debug:true
Le script s'arrêtera sur les erreurs d'exécution en renvoyant un message d'erreur :
Si vous trouvez une erreur en utilisant Slider Kit, merci de la signaler.
Si vous ne trouvez aucune solution à votre problème, consultez le groupe de discussions Slider Kit.
Lors du développement de Slider Kit, d'excellents travaux jQuery m'ont aidé (et inspiré), dont :
jCarousel,
jCarousel Lite,
Galleria,
Gallery view,
Contentflow,
Nivo Slider,
jQuery Cycle.
La version compressée de Slider Kit est générée grâce au packer de Dean Edwards.
Les photos utilisées dans les pages de démos sont l'oeuvre de Camille (New York, 2008).