26 Mar 2014 Programmation

Caroufredsel & touchSwipe

CaroufredSel est un plugin très puissant permettant de faire des… carousels. Il intègre différentes fonctionnalités d’accessibilité comme la navigation au clavier, à l’aide de bouton définis par des ids/class ou encore à l’aide des gestes pour les écran tactils. Il vous faudra pour cette dernière option intégrer la librairie touchSwipe disponible ici.

Exemple de configuration de caroufredsel avec touchswipe

$(function() {
      var carousel =  $('#carouFredSel').carouFredSel({   
            circular: true,
            infinite: true,
            swipe: {
                onMouse: true,
                onTouch: true
            }
        });
});

Problème : impossibilité de rajouter des liens

Cependant les choses se corsent lorsque qu’un lien doit être intégré au carousel, en effet, par défaut, touchSwipe ne peut pas s’appliquer sur ce type de balise pour ne pas bloquer la navigation.

Solution : initialiser TouchSwipe à part

Un moyen simple d’intégrer un lien avec notre carousel (lier une fancybox par ex) est de sortir l’objet « swipe » de la configuration de caroufredsel et de l’intégrer à part avec quelques options supplémentaires… La propriété tap est obligatoire si vous voulez avoir une réactivité optimale au niveau des liens.

$(function() {  
	// Init caroufresel first 
        var carousel =  $('#carouFredSel').carouFredSel({
            circular: true,
            infinite: true,
        });
	// Trigger elsewhere the swipe event , so this can work with links on carousel !
        $("#carouFredSel").swipe({
            excludedElements: "button, input, select, textarea, .noSwipe",
            swipeLeft: function() {
                $('#carouFredSel').trigger('next', true);
            },
            swipeRight: function() {
                $('#carouFredSel').trigger('prev', true);
            },
            tap: function(event, target) {
                // in case of an image wrapped by a link click on image will fire parent link
                $(target).parent().trigger('click');
            }
        });
});

A lire aussi

Combien coûte un site internet ? - 01/03/2022

Toujours difficile d'apporter une réponse simple car le prix d'un site web varie en fonction de plusieurs critères, quelques éléments de réponse dans ce billet.

PrestaShop Day 2021 - 13/10/2021

Rendez-vous le 19 octobre pour le PrestaShop Day ! Au programme : des conférences d’experts autour des dernières tendances e-commerce et des nouvelles stratégies à adopter.

WordPress 5.4 intègre le lazy-loading et améliore son éditeur - 24/02/2020

La nouvelle version de WordPress, qui est actuellement en cours de test, est prévue pour le 31 mars 2020.