question javascript

Forum dédié à tous les sujets sans liens avec DomoticZ.
Discuter de tout et de rien, c'est ici.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

question javascript

Message 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);
    },
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: question javascript

Message 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
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: question javascript

Message 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)
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: question javascript

Message 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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
david.2d
Messages : 21
Inscription : 25 avr. 2017, 14:15

Re: question javascript

Message 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.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: question javascript

Message 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é 4197 fois
si vous êtes intéressés faite le moi savoir histoire que je vous file le code
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre