Page 1 sur 1

question javascript

Publié : 21 mai 2019, 19:04
par papoo
bonjour
j'ai une fonction javascript que je voudrais faire évoluer.
elle fonctionne actuellement via l’événement mouseover, je souhaiterais l'actionner via un timer mais je ne sais comment faire. Auriez vous une idée?

Code : Tout sélectionner

    slide: function( element ) {
        var self = this;
        element.addEventListener( "mouseover", function( e ) {
            e.preventDefault();
            var a = this;
            self.setCurrentLink( a );
            var index = parseInt( a.getAttribute( "data-slide" ), 10 ) + 1;
            var currentSlide = self.el.querySelector( ".slide:nth-child(" + index + ")" );

            self.wrapper.style.left = "-" + currentSlide.offsetLeft + "px";
            //self.animate( currentSlide );

        }, false);
    },

Re: question javascript

Publié : 21 mai 2019, 19:15
par vil1driver
Salut,

Tu veux ajouter un délai avant action ?

Voir probablement settimeout

Ou qu'elle se lance et se relance d'elle même
indéfiniment sans action utilisateur ?

Voir probablement setinterval

Re: question javascript

Publié : 21 mai 2019, 20:06
par papoo
Je souhaite un défilement permanent avec un intervalle de 5 secondes mais tous mes essais sont pour l’instant infructueux d’où ma demande car je ne sais pas changer ce qu'il faut à l’intérieur de la fonction (e)

Re: question javascript

Publié : 21 mai 2019, 21:37
par papoo
j'en suis la (j'ai 5 slide à passer)

Code : Tout sélectionner

        slide: function() {
        var self = this;
        self.timer = setInterval(function( e ) {
            e.preventDefault();
            self.index++;
            if( self.index == 5) {
                    self.index = 0;
                }
            var a = this;
            self.setCurrentLink( a );
            var currentSlide = self.el.querySelector( ".slide:nth-child(" + self.index + ")" );

            self.wrapper.style.left = "-" + currentSlide.offsetLeft + "px";
           
        }, 5000);
    },
mais ça ne marche pas

Re: question javascript

Publié : 23 mai 2019, 12:21
par david.2d
Ton script ne peut pas marcher, il ce base sur l'element cliqué par la sourie pour récupérer le slide et passer à la suivante.

Tu remplace le click par un Timer, mais tu perd donc la reference de ton slider,
le script ne peut donc plus faire un next à ton slide.

Re: question javascript

Publié : 27 mai 2019, 13:21
par papoo
merci pour vos réponses
j'ai finalement réussi à faire ce que je voulais, ça donne cela (en accéléré)
meteo.gif
meteo.gif (216.97 Kio) Consulté 4192 fois
si vous êtes intéressés faite le moi savoir histoire que je vous file le code