Amélioration javascript : variable dans l'url

Résolu
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008 - 14 juil. 2008 à 12:59
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008 - 14 juil. 2008 à 18:53
Bonjour à toutes et tous,


J'ai pu récupérer un petit script sur le net qui permet d'afficher des
images successivement l'une à la place de l'autre. Le souci c'est que
la définition de ces images se fait à la suite, de la façon suivante :

i0 = new Image;

i0.src = 'http://www.monsiteweb.fr/img_random/0.jpg';

SiClickGoTo[0] = "http://photos.monsiteweb.fr/";

imgPath[0] = i0.src;

i1 = new Image;

i1.src = 'http://www.monsiteweb.fr/img_random/1.jpg';

SiClickGoTo[1] = "http://photos.monsiteweb.fr/";

imgPath[1] = i1.src;


Ayant pas mal de connaissances en Java, je me suis aperçu que le
langage était ressemblant, et cela a été confirmé lorsque j'ai vu la
structure de la boucle "for" qui est identique. Du coup je souhaitais
améliorer ce script qui marche bien pour un petit nombre d'image, mais
qui devient vite lassant pour un grand nombre. Voici ce que j'ai pondu :

for (int i=0 ; i<=10 ; i++) {

var test_src = "'http://www.monsiteweb.fr/img_random/" + i + ".jpg'";

img = new Image;

img.src = test_src;

SiClickGoTo[i] = "http://photos.monsiteweb.fr/";

imgPath[i] = img.src;

}


Mais ça marche pas ... snif !

Quelqu'un aurait une idée ?

14 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 juil. 2008 à 15:04
fallait lire :

    document.getElementById("aff");
</strike>    var ind=-1;
    var max=9;
    affiche();
</script>
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 juil. 2008 à 16:22
pas un spécialiste ( là non plus ! )

border c'est du html,
style="border..." du css et plus "dans l'air l'air du temps"... aujourd'hui !
encore plus prisé si on utilise avec class="toto" avec .toto {...}
ou même img {...}, et là sans class, directement, dans <style ....>

>>c'était plus que simple du coup
nous avons tous souvent tendance à compliquer... inutilement,

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 juil. 2008 à 13:49
Bonjour,

ce que tu nous montres c'est un "préchargement" d'images
( pas vérifié d'ailleurs si ça baigne ou pas, mais surtout,
  ce n'est que mon avis, c'est totalement inutile, et même
  nuisible !)
par contre, l'affichage de ces images, on ne voit pas.
de deux choses l'une ( l'autre c'est le soleil comme dit monsieur Prévert )
soit tu nous montres comment tu affiches ( enfin, UN EXTRAIT, le
       nécessaire mais pas plus ! )
soit tu recherches dans le forum, les sources... ce qui cause de
      "diaporama" par exemple, foultitudes de réponses

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 14:34
Pas de souci je peux montrer le bout qui affiche.
Comme je disais c'est un script que j'ai récupéré sur le net, donc il n'est pas de moi. Et puis les images sont miniscules (2ko chacunes) car ce sont des miniatures de 128*96px. Voici ce que ça donne actuellement (avec la déclaration des images une à une) :
www.flocool.fr

Sinon voici le bout de code :
if (version >= 3)
        {
        document.defil.src = imgPath[a];
        tempo3 = setTimeout("defilimg()",3000);
        a++;
        }
    }
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 14:35
Sachant que le début du script commence par ça :

imgPath = new Array;
SiClickGoTo = new Array;
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 juil. 2008 à 14:41
j'arrive pas à exécuter, "ça plante de partout" :
version, defil.src, defilimg()...tout ça ne plait pas à mes différents navigateurs
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 14:43
Voici le script entier (qui marche chez moi donc)

<SCRIPT LANGUAGE="JavaScript">
imgPath = new Array;
SiClickGoTo = new Array;
version = navigator.appVersion.substring(0,1);
if (version >= 3)
    {
    i0 = new Image;
    i0.src = 'http://www.flocool.fr/serendipity/img_random/0.jpg';
    SiClickGoTo[0] = "http://www.flocool.fr/photos.html";
    imgPath[0] = i0.src;
    i1 = new Image;
    i1.src = 'http://www.flocool.fr/serendipity/img_random/1.jpg';
    SiClickGoTo[1] = "http://www.flocool.fr/photos.html";
    imgPath[1] = i1.src;
    i2 = new Image;
    i2.src = 'http://www.flocool.fr/serendipity/img_random/2.jpg';
    SiClickGoTo[2] = "http://www.flocool.fr/photos.html";
    imgPath[2] = i2.src;
    i3 = new Image;
    i3.src = 'http://www.flocool.fr/serendipity/img_random/3.jpg';
    SiClickGoTo[3] = "http://www.flocool.fr/photos.html";
    imgPath[3] = i3.src;
    i4 = new Image;
    i4.src = 'http://www.flocool.fr/serendipity/img_random/4.jpg';
    SiClickGoTo[4] = "http://www.flocool.fr/photos.html";
    imgPath[4] = i4.src;
    i5 = new Image;
    i5.src = 'http://www.flocool.fr/serendipity/img_random/5.jpg';
    SiClickGoTo[5] = "http://www.flocool.fr/photos.html";
    imgPath[5] = i5.src;
    i6 = new Image;
    i6.src = 'http://www.flocool.fr/serendipity/img_random/6.jpg';
    SiClickGoTo[6] = "http://www.flocool.fr/photos.html";
    imgPath[6] = i6.src;
    i7 = new Image;
    i7.src = 'http://www.flocool.fr/serendipity/img_random/7.jpg';
    SiClickGoTo[7] = "http://www.flocool.fr/photos.html";
    imgPath[7] = i7.src;
    i8 = new Image;
    i8.src = 'http://www.flocool.fr/serendipity/img_random/8.jpg';
    SiClickGoTo[8] = "http://www.flocool.fr/photos.html";
    imgPath[8] = i8.src;
    i9 = new Image;
    i9.src = 'http://www.flocool.fr/serendipity/img_random/9.jpg';
    SiClickGoTo[9] = "http://www.flocool.fr/photos.html";
    imgPath[9] = i9.src;
    }
a = 0;
function StartAnim()
    {
    if (version >= 3)
        {
        document.write('[# ]');
        defilimg()
        }
    else
        {
        document.write('http://www.flocool.fr/photos.html')
        }
    }
function ImgDest()
    {
    document.location.href = SiClickGoTo[a-1];
    }
function defilimg()
    {
    if (a == 10)
        {
        a = 0;
        }
    if (version >= 3)
        {
        document.defil.src = imgPath[a];
        tempo3 = setTimeout("defilimg()",3000);
        a++;
        }
    }
StartAnim();
</SCRIPT>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 juil. 2008 à 15:03
ce que tu tentes, si je comprends bien, c'est afficher 0.png à 9.png
    automatiquement avec un ch'tiot temps d'attente entre chaque image ?

http://... si nécessaire !
il reste peut-être à attendre si l'image précédente est effectivement affichée ?
on en cause ici et là.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 15:49
Ah oui en effet ça marche pas mal ^^
Ben un grand merci alors, et c'est sûr que c'est beaucoup plus soft. J'avais peur que les images se chargent bizarrement (comme j'avais vu sur un autre script).

Par contre comment faire pour rajouter un lien unique en direction d'une page si on clique sur les photos ? (et de préférence avec border="0" pour plus d'esthétisme)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 juil. 2008 à 15:55
[lien unique.??? Bul         []mon Site]     [M'écrire]
0
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 16:07
Ah ben oui j'avais oublié qu'il y avait la balise de l'image juste au-dessus ... autant pour moi, c'était plus que simple du coup !
"Lien unique" c'était bien dans le sens "une seule destination".

Juste une question technique : quelle est la différence entre la définition de la bordure avec border="0" ou style="border:0" (s'il y a une différence) ?
J'imagine que le 2e est utile si on a des CSS, ainsi on peut le définir dedans.
Pour ma part c'est un petit script qui est situé dans une page style "wordpress" comme tu as pu le voir d'ailleurs.

En tout cas merci encore !! Au moins j'ai juste un paramètre à changer si je veux rajouter des images.
0
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 16:37
Ben je m'y connaitrais vraiment en langage Javascript (qui doit pas etre plus compliqué que le java mais je n'ai aps spécialement le temps de m'y mettre), j'aurai pu écrire le script tout seul, mais là du coup j'ai cherché sur le net, donc on prend ce qu'on trouve ^^

Oki pour la réponse du "border". Il est vrai que les CSS c'est la mode en ce moment, et ça se comprend sans souci.
Encore une fois merci énormément !
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 juil. 2008 à 16:49
javascript ? c'est un langage. ni plus ni moins compliqué que les autres ( quoique... ;o)
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
flocool Messages postés 10 Date d'inscription mardi 1 juillet 2003 Statut Membre Dernière intervention 14 juillet 2008
14 juil. 2008 à 18:53
Oui je sais que c'est un langage, et étant donné que j'ai reconnu la même syntaxe que Java pour lequel on nous a un peu formé à mon école d'ingé, je pense que je m'y ferai sans trop de difficulté. Après c'est juste qu'il est appliqué à des choses bien précises, et c'est ce qu'il utilise que je ne connais pas forcément.
0
Rejoignez-nous
A voir également