Hover sur Slideshow avec jmpress.js

19 vues
16 mai 2014
Jérémie
slideshow-jmpress-3d


Le SlideshowJmpress récupéré sur le site http://tympanus.net est franchement sympa avec ces anims 3D, et les anims supplémentaires en CSS3, c'est du bel ouvrage!

Mais il ne s'arrête pas au hover. C'est pourtant très pratique: si la personne veut prendre le temps de regarder plus attentivement une slide, elle passe naturellement la souris dessus, et l'anim doit s'arrêter. Et reprendre quand la souris repart.

Classique, mais inexistant de base dans SlideshowJmpress . Voici donc la solution:

ouvrez le fichier js/jquery.jmslideshow.js


Ajoutez la propriété hoverpause dans votre déclaration d'objet comme suit:

$.JMSlideshow.defaults         = {
        // options for the jmpress plugin.
        // you can add much more options here. 
        jmpressOpts    : {
            // set the viewport
            viewPort         : {
                height    : 400,
                width    : 1000,
                maxScale: 1
            },
            fullscreen        : false,
            hash            : { use : false },
            mouse            : { clickSelects : false },
            keyboard        : { use : false },
            animation        : { transitionDuration : '1s' }
        },
        // for this specific plugin we will have the following options:
        // shows/hides navigation arrows
        arrows        : true,
        // shows/hides navigation dots/pages
        dots        : true,
        // each step's bgcolor transition speed
        bgColorSpeed: '1s',
        // slideshow on / off
        autoplay    : false,
        // time between transitions for the slideshow
        interval    : 3500,
        //pause on hover
        hoverpause : true
    };

et sous les lignes:

_loadEvents            : function() {
            
            var _self = this;

ajoutez les lignes suivantes:

// ADD THIS EDIT FOR PAUSE ON HOVER
            if(this.options.hoverpause && this.options.autoplay){
                
                _self.$jmsWrapper.on('mouseenter', function(e){
                    _self._stopSlideshow();
                    return false;
                } );

                _self.$jmsWrapper.on('mouseleave', function(e){
                    _self.options.autoplay   = true;
                    _self._startSlideshow();
                    return false;
                } );
            }
            // STOP EDIT



et voilà le travail! votre slider pause dès que l'on passe la souris dessus.

Pour rappel, jQuery est une bibliothèque JavaScript très populaire qui simplifie l'interaction avec les documents HTML, les événements, les animations et les requêtes AJAX. Elle est conçue pour être facile à utiliser et compatible avec tous les navigateurs modernes.

jQuery est livré avec une variété de fonctions qui peuvent être utilisées pour effectuer des tâches courantes en JavaScript, telles que la sélection d'éléments HTML, l'ajout ou la suppression d'éléments, la modification de styles et de classes, la gestion d'événements, l'animation de page et la récupération de données à partir de sources externes.

Grâce à sa popularité et à son support, jQuery est souvent utilisé pour simplifier le développement Web et pour rendre les sites Web interactifs plus rapidement et plus facilement.

Autocomplétion avec Eclipse PDT
Modifier la config Apache pour un site sur PLESK
Ajout d’un suffixe aux tables des modèles
ZF : Cannot refresh row as parent is missing
Un nouveau routeur pour Joomla!
PHP Tour de Lille
3 nouvelles extensions Joomla! de Pulsar dans la JED
Création de l'antenne parisienne de l'AFUP
Pulsar developpe la passerelle Joomla LUCENE SOLR
Choisir son outil de gestion de projet web
Mon nouveau jeu de stratégie en ligne: Xsword
Journée du conseil scientifique de l'AFNIC
Connexion à Office 365 en PowerShell
CssJsCompress: page blanche, problème d'encodage
Le forum PHP 2012....c'est du passé ! RDV l'année prochaine
Conversion d'un fichier CSV utf8
encoder en latin1
Soirée CMS open-source en PHP
forum php 2014 : le retour de Drupal annoncé... vraiment ???
OWF: Open World Forum
Eclipse: Failed to create Java Virtual Machine
bug fireEvent dans core.js sous IE9
Maximum execution time ...
I love jQuery.ValidationEngine
Mettre son placeholder en couleur noire #000
Calcul dates à partir du numéro de semaine en PHP
RDV AFUP sur les bases de données relationnelles
Du code et des hommes. Stratégies de suivi de projet
Mise en place d'une API REST en PHP
Code et calendrier de l'avent, un crossover sympa
Pulsar sort son jeu gratuit en ligne
Soirée design pattern et anti pattern en PHP
PHP multi-versions sur le même Apache
Debugger en PHP
design-pattern et anti-pattern en PHP
Réseau social d'entreprise: Yammer ou SharePoint?
SQL ignore error SQLSTATE avec sql-mode
Le forum PHP c'est dans 2 semaines !
Astuces PHP lazy load sous joomla seblod warp
Utiliser NOW() de SQL avec ZF
The requested URL was not found on this server.
Plugin merge css/js pour Joomla
Créer un QR Code en PHP