loblobloblob
Messages postés77Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention18 mars 2010
-
20 avril 2009 à 16:01
PetoleTeam -
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", ""],
]);
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 20 avril 2009 à 16:18
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.
pas compris ce que tu veux faire....
tu parles de préchargement ? à mon avis : évite !
c'est strictement inutile voire nuisible
ta page ne va être accessible que lorsque toutes les images
auront été chargées ( même celles qu'on ne regadera jamais )
on va donc attendre un temps certain , alors que, sans préchargement,
la page est immédiatement accessible, les images s'affichent à
leur rythme mais surtout au fur et à mesure des besoins
ça doit être utile dans certains cas je pense, sinon on ne trouverait
pas ce genre de choses ici où là... mais je doute !
loblobloblob
Messages postés77Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention18 mars 2010 20 avril 2009 à 16:27
Désolé, quand je dis pré chargement, je veut dire que toutes mes images seront dans ma galerie sans que j'ai besoin de d'écrire 2OO foi ["R:\dossier\site\www\fr\galeries\img/nom_nom-0"+i+".jpg.jpg", ""]
Mais je ne sais pas comment utiliser getElementById. Si c'est bien par ce moyen qu'il faut faire
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 20 avril 2009 à 16:35
>>sans que j'ai besoin de d'écrire 2OO fois
while(document.getElementById...
un ID c'est dans une balise html, pas l'url d'un fichier
par exemple
comme on ne sait pas ce qu'est( ce que fait ? ) diap.init,
qu'on n'a pas le html, la "galerie" ( c'est quoi ? )...
loblobloblob
Messages postés77Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention18 mars 2010 20 avril 2009 à 16:56
Bon cmooe je m'en sortais pas je suis passer par getElementsByName,
puis j'ai fait une boucle for pour éviter les pb de boucles infini qui n'en finissait plus.
donc sa marche pour la premiére image, puis il m'anonce par une alerte qu'il va jusqu'a la deuxiéme image puis il s'arréte et je n'ai d'afficher dans ma gallerie que ma premiére image
Je ne comprend pas pourquoi il s'arrête en cour de route, si je change dans le diap init le 1,1 pour 1,2 par exemple il me met un ID-10-T error... mais il s'arrête aprés le nombre d'image souhaité mais n'affiche rien.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 21 avril 2009 à 10:10
c'est possible de regarder les fichiers d'un répertoire
uniquement avec IE et FF aujourd'hui
mais un répertoire local, pas sur un site
si c'est en local on peut te donner les liens
pour voir comment faire
si c'est sur un site, faire avec le langage sur le serveur
ou met les noms de ces fichiers dans un array, voire
s'ils ont le même nom fiare une simple boucle comme
tu sembles le faire
>>si je change dans le diap init le 1,1 pour 1,2 par exemple il me met un
>>ID-10-T error... mais il s'arrête aprés le nombre d'image souhaité mais
n'affiche rien.
alors çà, faut voir avec l'outil que tu utilises !
diap.init ça fait quoi ????
Il rempli le tableau jusqu'à la 16 ème image comme demandé mais n'affiche que l'image numéro 10
var tab = new Array();
document.getElementsByName("jpg");
for(var i=1; i!=17; i++)
{
tab[i]=['dossier/nom0'+i+'.jpg']
alert(tab[i]);
diap.init("screen", i/6, 1, "", [
[tab[i], ""],
]);
}
Il rempli le tableau jusqu'à la 16 ème images mais n'affiche que l'image numéro 6
donc j'en conclus que si je fais
var tab = new Array();
document.getElementsByName("jpg");
for(var i=1; i!=17; i++)
{
tab[i]=['dossier/nom0'+i+'.jpg']
alert(tab[i]);
diap.init("screen", i/i, 1, "", [
[tab[i], ""],
]);
}
Il devrais remplir le tableau jusqu'à l'image 16 et toutes les afficher mais il ne rempli le tableau que jusqu'à l'image 2 et n'affiche que la première. Pourquoi?
loblobloblob
Messages postés77Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention18 mars 2010 21 avril 2009 à 10:14
j'avais pas vue ta réponse, donc c'est bien possible, je pense comme le montre mon petit test juste avant quee ça doit être un problème d'initialisation du nombre de colonne et de ligne du tableau, mais je n'y arrive pas
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 21 avril 2009 à 10:38
j'ai dis que c'était possible avec IE et FF en local,
mais j'ai dis d'autres choses, plusieurs fois.
tout ce que tu nous fait voir n'affiche rien,
n'examine rien d'un répertoire....
comment pourrait-on te dire où tu fais une erreur
si tu ne nous donnes qu'un extrait inutile ????
loblobloblob
Messages postés77Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention18 mars 2010 21 avril 2009 à 10:51
Si vous voulez je peut lettre tout le code, mais c'est un siteque j'ai repris et j'ai changer que ce que je vous ai montré dans le fichier js :
// // Javascript Slideshow ======
// script written by Gerard Ferrandez - December 31, 2006
loblobloblob
Messages postés77Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention18 mars 2010 21 avril 2009 à 10:54
j'ai repris un site existant que je dois mettre a jour, la première partie du code n'a pas changer, mais si vous voulez je peut vous mettre l'intégralité du code :
// // Javascript Slideshow ======
// script written by Gerard Ferrandez - December 31, 2006
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 21 avril 2009 à 11:11
oulah.... pourquoi faire simple quand on peut faire compliqué !!
pas d'étude des fichiers d'un répertoire dans ce que tu nous donnes.
il y a bien un preload ( donc nuisible ) inclus.
je ne vais surement pas tout décortiquer, il faudrait voir ce
que cela donne avant tes modifs sur un site, mais si cela se trouve,
une simple balise marquee ferait parfaitement l'affaire.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 21 avril 2009 à 11:35
bah, avec FF ( pas testé avec d'autre ), j'ai beau cliquer sur n'importe quelle
galerie ou rafraîchir... au bout de 10' rien n'est toujours affiché, je patiente
néanmoins... pour voir ( j'ai un modem 56 k ! )
loblobloblob
Messages postés77Date d'inscriptionmardi 7 avril 2009StatutMembreDernière intervention18 mars 2010 21 avril 2009 à 11:44
En gros, il y a 16 images en miniature ranger dans un tableau, quand on clique sur une image
celle-ci grossi poussant les autres sur les cotés et quand on reclique sur l'image celle-ci redevient comme au début
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 21 avril 2009 à 11:49
ah... ça y est ! ( ouf... comme quoi le proload est à sucrer ! )
en fait de galerie, ce sont des images affichées, dont l'opacité
change au survol et qui s'agrandit lors du click ( avec un ch'tiot
effet ... )
donc, tu dois mal appeler la fonction diap.init lors de ta boucle
comment fais-tu pour "rentrer les adresses des images une par une" ?
( sinon, il faut que j'aille décortiquer tes .js ... )
@+