Pb de préchargement des images

loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010 - 20 avril 2009 à 16:01
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 24 avril 2009 à 14:09
Bonjour,
j'ai créer une galerie, mais j'aimerais que mes
images soient charger dans la galerie sans devoir faire une ligne par image.

On m'a dis de passer par getElementById mais je comprend pas son fonctionnement,
Je ne sais pas ce qu'il faut mettre dedans.

Voila ma fonction

onload = function () {

    var i =1;    /* container, X, T, path, [image.src, text] */
   
    /* test d'un chargement automatique des images */
    while(document.getElementById("R:\dossier\site\www\fr\galeries\img/nom_nom-0"+i+".jpg.jpg").innerHTML != "")
    {               
        diap.init("screen", 20,10, "", [
            ["R:\dossier\site\www\fr\galeries\img/nom_nom-0"+i+".jpg.jpg", ""],
        ]);
       
        alert('coucou');
       
            i++;
    }
}

42 réponses

loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
21 avril 2009 à 12:48
ok, je vais essayé ça
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
21 avril 2009 à 13:51
Ok, afin d'afficher les images je suis obliger de faire une boucle qui parcoure le tableau,
et c'est la que sa foire, le nombre de colonne et de ligne doit être égale au nombre d'images courantes dans le tableau,
en gros : premier passage de boucle : 1 image : 1 ligne , 1 colonne
              deuxiéme passage de boucle : 2 images : 2 lignes , 1 colonne ....

onload = function () {

    var tab=new Array();
   
    for (var i=0; i<4; i++)
    {
        alert(i);
        tab.push("dossier/nom-0"+(i+1)+".jpg");
        alert(tab[i]);
       
    }
    alert("tab.length= "+tab.length);
    for (var i=1; i<4; i++)
    {
        diap.init("screen", i, 1, "", [[tab[i-1], ""],]);
    }
}

ça ne marche que pour la premiére image
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
21 avril 2009 à 13:55
diap (tab); fait planter le script,
 il ne passe même pas dans la boucle
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
21 avril 2009 à 14:17
quelle boucle ????
tu es sûr de ta syntaxe ici ???
[[tab[i-1], ""]


j'ai comme un doute....
0

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

Posez votre question
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
21 avril 2009 à 14:27
[[tab[i-1], ""]



oui je suis sur de la syntaxe car ma boucle commence a 1, et la première image de mon tableau est à i = 0

quelle boucle ????

for (var i=0; i<4; i++)
    {
        alert(i);
        tab.push("dossier/nom-0"+(i+1)+".jpg");
        alert(tab[i]);
       
    }
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
21 avril 2009 à 17:39
<script>
 var tab=new Array();
 for (var i=0; i<4; i++)
    {    alert(i);
        tab.push("dossier/nom-0"+(i+1)+".jpg");
        alert(tab[i]);       
    }
</script>
ton erreur est ailleurs
ça fonctionne sans problème....
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
22 avril 2009 à 09:11
oui, c'est quand je rajoute ça après la boucle :
diap (tab);
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
22 avril 2009 à 10:17
peut être que le problème vient du fait que j'initialise diap dans la boucle,

for (var i=1; i<5; i++)
    {
        diap.init("screen", 1, 1,"", [[tab[i], ""]]);
    }

mais je ne peut pas mettre la boucle dans le diap.init, ça ne marche pas


        diap.init("screen", 1, 1,"", [for (var i=1; i<5; i++)

                                               {
                                                  [tab[i], ""]
                                                }]);

   
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
22 avril 2009 à 11:37
Étant trop compliquer a faire, j'essaye de faire ma galerie avec galleria mais les derniers points je comprend pas ce qu'il faut faire.

<li>4. Create an unordered list of images and give it an identifier (in this case
class= 'gallery'
)</li><li> 5. Style your gallery using CSS. Galleria has a default style that you can easily override and modify.</li>The real beauty of Galleria lies in it’s simple HTML
code. Simple create an unordered list, add a couple of images and
Galleria will automatically create clickable thumbnails. Here is some
examples on how Galleria will interpret your HTML:

Create and scale a clickable thumbnail:

 class= "gallery"> 
<li> src="i/i01.jpg" title="A caption" alt="Image01"></li> 


Create a thumbnail, but don’t scale it (fit and center):

 class= "gallery"> 
<li> class="noscale" src="i/01.jpg" title="A caption" alt="Image01"></li> 
 


Use a custom thumbnail and center it to fit inside the thumbnail container:

 class="gallery"> 
<li> href="i/01.gif" title="A caption"> src="i/01_thumb.jpg" alt="Image01"></li> 
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
22 avril 2009 à 11:55
bonjour bas tu doit choisir entre trois solutions
première possibilite
si je me trompe pas scale c'est pour que les image miniature soient redimentionne automatiquement

deuxieme
 les miniatures restent a leurs taille originales

troisieme
a traduire avec gogle

sinon essai les toutes un par un
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
22 avril 2009 à 12:02
4. Create an unordered list of images and give it an identifier (in this case
class='gallery'
)

Je fais ça comment ? et où , dans le fichier html, dans le fichier js?

merci d'avance
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
22 avril 2009 à 13:18
dans le html
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
22 avril 2009 à 13:42
Ok merci.

Encore une question, comme je dois faire une liste et qu'il y aura beaucoup d'images a rentrer dans la galerie,
j aimerais faire une boucle qui vas me chercher mes images de temps à temps.

Pour cela je pense qu'il faut que j'utilise php mais je ne suis pas sur de la syntaxe, voila la partie de mon code qui vas chercher mes images, je précise que l'extension de mon fichier est .php

                   
                    <?php
                    for(var i = 0; i<4; i++)
                    {
                        echo "<li></li>";
                    } ?>
                   
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
22 avril 2009 à 17:30
Bonjour à tous,
je prend encours, et je tiens à
préciser que je n'ai pas tout lu...néanmoins
<table bgcolor= "#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, diap.init ça fait quoi
????</td>
</td></tr></tbody></table>c'est ce qu'à
demander TheBul3, j'y vais de ma
supputation, dans la ligne
diap.init("screen", 1, 1, "", [["dossier/nom-0"+i+".jpg", ""], ]);
diap est un objet et init une de ses méthodes acceptant 5 paramètres dont le
dernier est un tableau de tableaux.

Pourquoi donc appeler la fonction
d'init dans la boucle, la seule initialisation valable sera la dernière.
Je ferais plutôt simplement
var tab = new Array();

document.getElementsByName("jpg");
//-- Init des
donnees
for(var i=1; i!=17; i++) {

  tab[i]=['dossier/nom0'+i+'.jpg']
}
//-- En
final
diap.init("screen", i/10, 1, "", tab);

Sans préjuger du reste, je
prendrais le temps de lire le reste...
;O)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
22 avril 2009 à 20:02
...extrait du code que tu as donné
init : function (container, NX, NY,
path, images) {
  /* = === initialize script ==== */
  this.scr =
id(container);
  if (!this.scr || NX * NY != images.length)
   //-- et plus loin
  s.pre.src = path + images[
k][0];
laisse bien à penser que le dernier paramètre est bien un
tableau de tableaux ce que vous avez approché un peu plus loin dans le Post...

;O)
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
23 avril 2009 à 09:21
merci de ton aide mais pourquoi :

diap.init("screen", i/10, 1, "", tab); ?
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
23 avril 2009 à 10:53
et le diap.init je le met pas dans une boucle ?
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
23 avril 2009 à 20:37
tant qui il a de la vie il y a de l'espoire
0
loblobloblob Messages postés 77 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 18 mars 2010
24 avril 2009 à 09:41
Avec ceci je n'est plus d'erreur de taille du diap.init mais ça n'affiche rien :

onload = function () {

    var tab=new Array();
   
    for (var i=1; i!=17; i++)
    {
        alert(i);
         tab[i]=[dossier/nom-0'+i+'.jpg']
        alert(tab[i]);

    }
   
   
    alert("tab.length= "+tab.length);
    //diap.init("screen", 2, 2,"", [[tab[1], ""], [tab[0], ""], [tab[2], ""], [tab[3], ""]]);
    diap.init("screen", tab.length, 1, "", tab);
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 avril 2009 à 13:06
Bonjour,
Après analyse du code fournis voila ce
que je peux t'en dire...
Appel :
diap.init(
param_1, param_2, param_3, param_4,
param_5);

Paramètres :
- param_1 c'est le DIV dans lequel sont afficher les images

- param_2 nombre d'images afficher
horizontalement
- param_3 nombre d'images
afficher verticalement
- param_4 chemin d'accès
aux images
- param_5 tableau des images à
afficher
  - param_5[i][0] nom de l'image
  -
param_5[i][1] texte associé à l'image

Initialisation dans une boucle :
Exemple
var T_Img = new Array();
//-- Initialisation tableau
for( var i =0; i <
16; i++){
  T_Img[i] = new Array();
  T_Img[i][0] = "image_" +i +".jpg";

  T_Img[i][1] = "ceci est l'image_" +i +".jpg";
}
//-- Initialisation Affichage

diap.init("screen", 4, 4, "", T_Img);

Voilou...

;O)
0
Rejoignez-nous