Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 17h56   #1
Invité de passage
 
Inscription : décembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2011
Messages : 3
Points : 1
Points : 1
Par défaut Modifier et comprendre un script de slide d'images

Bonjour a tous,
J'ai un petit problème avec un slide , que je vous l'avouerais j'ai trouvé et vraiment très peux modifié. Je ne suis pas tres bon en js, même pas bon du tout.
J'utilise ce slide pour une petite galerie, mais j'aimerais que lorsque le slide est a la position "left: 0px;" il ne puisse que ce déplacer vers la droite (donc en nombre négatif comme "left: -100px;" et non pas en nombre positif)

Code :
1
2
3
4
function Div(){this.sens='right';this.decal=1;this.timer;this.initTimer=function(status){false===status?clearInterval(this.timer):this.timer=setInterval('div.move();',3.260869565);}
this.move=function(){var element=document.getElementById('contenu');var pos=parseInt(element.style.left);switch(this.sens){case'right':element.style.left=pos+this.decal+'px';break;case'left':element.style.left=pos-this.decal+'px';break;}}}
function init(){div=new Div();}
var div;
Je vous remercie tous d'avance

PS : sans vouloir abuser, j'aimerais bien une petite explication afin de comprendre. Merci.
norihiori est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 18h08   #2
Membre expérimenté
 
Avatar de Torgar
 
Homme Jérémy
Développeur Web
Inscription : août 2007
Messages : 326
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 326
Points : 535
Points : 535
Envoyer un message via MSN à Torgar Envoyer un message via Skype™ à Torgar
Bonjour,

avec ton code ça serait plus simple pour t'aider
__________________
Vivez vos rêves !!!

Si vous voulez que l'on vous aide, postez votre code avec la balise [ CODE ] [ /CODE ] (bouton # de l'éditeur)
Torgar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 19h41   #3
Invité de passage
 
Inscription : décembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2011
Messages : 3
Points : 1
Points : 1
Premiere fois que ça m'arrive ....

Merci ...
norihiori est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 00h24   #4
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 872
Points : 1 381
Points : 1 381
étape1)

mise en forme du code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function Div() {
    this.sens = 'right';
    this.decal = 1;
    this.timer;
    this.initTimer = function (status) {
        false === status ? clearInterval(this.timer) : this.timer = setInterval('div.move();', 3.260869565);
    }
    this.move = function () {
        var element = document.getElementById('contenu');
        var pos = parseInt(element.style.left);
        switch (this.sens) {
        case 'right':
            element.style.left = pos + this.decal + 'px';
            break;
        case 'left':
            element.style.left = pos - this.decal + 'px';
            break;
        }
    }
}
 
function init() {
    div = new Div();
}
var div;
on voit que ton script utilise un paramètre "sens" pour determiner le sens, on ne va donc pas se prendre la tête avec des valeurs négatives et profiter de cet argument en ajoutant simplement ces 2 lignes :


Code :
1
2
        if(pos<=0)
            this.sens = 'right';

ce qui donne donc :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function Div() {
    this.sens = 'right';
    this.decal = 1;
    this.timer;
    this.initTimer = function (status) {
        false === status ? clearInterval(this.timer) : this.timer = setInterval('div.move();', 3.260869565);
    }
    this.move = function () {
        var element = document.getElementById('contenu');
        var pos = parseInt(element.style.left);
        if(pos<=0)
            this.sens = 'right';
        switch (this.sens) {
        case 'right':
            element.style.left = pos + this.decal + 'px';
            break;
        case 'left':
            element.style.left = pos - this.decal + 'px';
            break;
        }
    }
}
 
function init() {
    div = new Div();
}
var div;
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 02h43   #5
Invité de passage
 
Inscription : décembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2011
Messages : 3
Points : 1
Points : 1
Hum mais oui ça semble évident ... Lorsque je suis dans du JS je suis perdu je ne comprends plus rien alors que tout es la.

Merci beaucoup

PS : comme je suis en négatif j'ai utilisé la formule :


Code :
1
2
if(pos>=0)
            this.sens = 'left';
norihiori est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h24.


 
 
 
 
Partenaires

Hébergement Web