Présentation

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.

Caractéristiques

Démos

Compatibilité

Versions

Version 1.4

Version 1.3

Version 1.2

Version 1.1

Documentation

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.

HTML

Eléments HTML

Conteneur principal

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).

Panneau de contenu

Classe CSS : [cssprefix]-panel.

Placer dans cet élément le contenu à animer. Cela peut être n'importe quoi : images, texte, actus, etc.

Bouton précédent

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.

Bouton suivant

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.

Commentaire/Boite texte

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.

Conteneur de navigation / Carrousel

Classe CSS : [cssprefix]-nav.

Ce bloc contient les vignettes pour la navigation. Le contenu des vignettes peut être du texte ou des images.

Bouton de ligne précédente

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.

Bouton de ligne suivante

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.

Le code HTML

Voici une stucture HTML représentative à utiliser avec Slider Kit:

<!-- Conteneur principal -->
<div class="sliderkit">

    <!-- Conteneur de navigation -->
    <div class="sliderkit-nav">
    
        <!-- Conteneur "lucarne" -->
        <div class="sliderkit-nav-clip">
            <ul>
                <li><a href="#" rel="nofollow" title="[link title]">~content</a></li>
                <li><a href="#" rel="nofollow" title="[link title]">~content</a></li>
                <li><a href="#" rel="nofollow" title="[link title]">~content</a></li>
                <li><a href="#" rel="nofollow" title="[link title]">~content</a></li>
            </ul>
        </div>
        
        <!-- Boutons de ligne -->
        <div class="sliderkit-nav-btn sliderkit-nav-prev"><a rel="nofollow" href="#" title="Previous line"><span>Previous</span></a></div>
        <div class="sliderkit-nav-btn sliderkit-nav-next"><a rel="nofollow" href="#" title="Next line"><span>Next</span></a></div>
    
    </div><!-- // fin de Conteneur de navigation -->
    
    <!-- Conteneur de panneaux -->
    <div class="sliderkit-panels">    
    
        <!-- Boutons 'Go' -->
        <div class="sliderkit-go-btn sliderkit-go-prev"><a rel="nofollow" href="#" title="Previous"><span>Previous</span></a></div>
        <div class="sliderkit-go-btn sliderkit-go-next"><a rel="nofollow" href="#" title="Next"><span>Next</span></a></div>

        <!-- Panneaux de contenu -->
        <div class="sliderkit-panel">
            ~content
        </div>
        <div class="sliderkit-panel">
            ~content
        </div>
        <div class="sliderkit-panel">
            ~content
        </div>
        
    </div><!-- // fin de Conteneur de panneaux -->
    
</div><!-- // fin de Conteneur principal -->
  • Le code HTML est flexible : vous pouvez utiliser seulement the carrousel, ou seulement les panneaux de contenu. Les boutons et les commentaires sont optionnels.
  • Les boutons 'Go' (sliderkit-go-btn) peuvent être placés n'importe où dans le conteneur principal.

CSS

Styles fondamentaux

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.

Habillages personnalisés

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 !

Compatibilité

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) :

Aucun 'hack' CSS n'est utilisé dans les feuilles de styles de Slider Kit.

Conseils CSS

Dans la partie <head> de la page HTML :

<!-- Styles du plugin -->
<link rel="stylesheet" type="text/css" href="../lib/css/sliderkit-core.css" media="screen, projection" />
<link rel="stylesheet" type="text/css" href="../lib/css/sliderkit-demos.css" media="screen, projection" />

<!-- Compatibilité -->
<!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="../lib/css/sliderkit-demos-ie6.css" />
<![endif]-->

<!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="../lib/css/sliderkit-demos-ie7.css" />
<![endif]-->

<!--[if IE 8]>
    <link rel="stylesheet" type="text/css" href="../lib/css/sliderkit-demos-ie8.css" />
<![endif]-->

Javascript

Le fichier javascript principal est actuellement jquery.sliderkit.1.4.min.js (packed).

En option, vous pouvez inclure les plugins suivants:

Dans la partie <head> de la page HTML :

<!-- Bibliothèque jQuery -->
<script type="text/javascript" src="../lib/js/jquery-1.3.min.js"></script>

<!-- Slider Kit -->
<script type="text/javascript" src="../lib/js/jquery.sliderkit.1.4.min.js"></script>

<!-- Add-ons -->
<script type="text/javascript" src="../lib/js/jquery.easing.1.3.min.js"></script>
<script type="text/javascript" src="../lib/js/jquery.mousewheel.min.js"></script>

<!-- Lancement de Slider Kit -->
<script type="text/javascript">
    jQuery(window).load(function(){
        
        jQuery(".anytagselector").sliderkit();

    });
</script>

Paramètres personnalisés du plugin:

<!-- Lancement de Slider Kit -->
<script type="text/javascript">
    jQuery(window).load(function(){
        
        jQuery(".anytagselector").sliderkit({
            shownavitems:5,
            auto:false
        });

    });
</script>

Consultez la liste 'Options' ci-dessous.

Options

cssprefix

(string) valeur par défaut : "sliderkit". Le préfixe à utiliser sur les noms de classe CSS.

start

(int) valeur par défaut : 0. Définit sur quel élément commencer (le premier étant 0).

auto

(boolean) valeur par défaut : true. Active le défilement automatique.

autospeed

(int) valeur par défaut : 4000. Vitesse du défilement automatique (ms).

mousewheel

(boolean) valeur par défaut : false. Active la navigation avec la molette de souris.

keyboard

(boolean) valeur par défaut : false. Active la navigation au clavier. Très basique pour le moment (flèche gauche/droite).

panelclick

(boolean) valeur par défaut : false. Active la navigation au clic sur les panneaux de contenu.

circular

(boolean) valeur par défaut : false. Active le défilement en boucle (le carrousel revient tout seul en fin ou début de lecture).

shownavitems

(int) valeur par défaut : 5. Définit combien de vignettes seront visibles dans la "lucarne" de navigation.

navitemshover

(boolean) valeur par défaut : false. Si vrai, l'animation des panneaux de contenu sera déclenchée au survol des vignettes (plutôt qu'au clic).

navclipcenter

(boolean) valeur par défaut : false. Si vrai, le plugin fera en sorte de centrer la "lucarne" de navigation dans le conteneur de navigation.

navfx

(string) valeur par défaut : "sliding". Définit le type d'animation pour le défilement du carrousel. Valeurs possibles : "sliding", "none".

scroll

(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'.

scrollspeed

(int) valeur par défaut : 600. Vitesse du défilement du carrousel (ms).

scrolleasing

(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/.

panelfx

(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".

panelfxspeed

(int) valeur par défaut : 700. Vitesse de la transition entre les panneaux de contenu (ms).

panelfxeasing

(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/.

panelfxbefore

(function) valeur par défaut : function(){}. Fonction appelée avant l'animation des panneaux de contenu.

panelfxafter

(function) valeur par défaut : function(){}. Fonction appelée après l'animation des panneaux de contenu.

panelbtnshover

(boolean) valeur par défaut : false. Si vrai, les boutons 'Go' apparaitront au survol de la souris sur les panneaux de contenu.

verticalnav

(boolean) valeur par défaut : false. Carrousel vertical.

verticalslide

(boolean) valeur par défaut : false. Défilement vertical des panneaux de contenu (avec l'option "panelfx" égale à "sliding").

tabs

(boolean) valeur par défaut : false. Nécessaire pour construire un menu par onglets.

freeheight

(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").

fastchange

(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.

debug

(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.

Extending Slider Kit

Fetching the Slider Kit instance

A way of extending Slider Kit is to fetch the instance from anywhere on your page.

jQuery(".anyclassorid").sliderkit(); // initialize the slider object

var mySliderkit = $(".anyclassorid").data("sliderkit"); // 'mySliderkit' is now a sliderkit instance

$('#play').click(function() {
    mySliderkit.autoScrollStart(); // will start slideshow when the element #play is clicked
});

API Methods

autoScrollStart()

Starts the auto scrolling.

autoScrollStop()

Stops the auto scrolling.

playBtnStart()

Starts the auto scrolling and changes the Play bouton CSS class.

playBtnPause()

Stops the auto scrolling and changes the Play bouton CSS class.

navPrev()

Scroll the nav to the previous line.

navNext()

Scroll the nav to the next line.

stepBackward()

Displays the previous item in line, or the last if you are at the first item.

stepForward()

Displays the previous item in line, or the last if you are at the first item.

changeWithId( index )

Switches item using the specify index.

selectThumbnail( index )

Highlight item using the specify index.

Dépannage

Erreurs fréquentes

Si vous rencontrez des difficultés en utilisant le plugin, commencez par les vérifications basiques :

Mode déboggage

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 code d'erreur :

Signaler une anomalie

Si vous trouvez une erreur en utilisant Slider Kit, merci de la signaler.

Remerciements

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.