J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste
et je voudrai que cette fonction modifie le numéro d'ordre (variable
num) de la fonction principale de telle manière que quand je fait
suivant j'ai la photo suivante de la fonction principale.
Mon problème et que je n'arrive pas à modifier la variable de la
fonction en mémoire.
function ejs_aff_photos(num)
{
if(document.getElementById)
{
if (num < 0) {
num = (nb-1);
}
if (num > (nb-1)) {
num = 0;
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SAM
Bonjour,
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste et je voudrai que cette fonction modifie le numéro d'ordre (variable num) de la fonction principale de telle manière que quand je fait suivant j'ai la photo suivante de la fonction principale. Mon problème et que je n'arrive pas à modifier la variable de la fonction en mémoire.
il te faut mettre num en variable globale comme ça num sera en "mémoire"
Exemple :
<html> <style type="text/css"> td { text-align:center; } </style> <script type="text/javascript"> var ejs_photo = [ // les photos 'vue_1.jpg', 'vue_2.jpg', 'vue_3.jpg', 'vue_4.jpg' ]; var num = 0; // compteur var nbr = ejs_photo.length; // nombre de photos function chgeVue() { num = num>=nbr? 0 : num<0? nbr-1 : num; document.viewer.src = ejs_photo[num]; } </script> <table width="100%" height="100%"> <tr height="22"> <td> <button onclick="num--;chgeVue();"> < < </button> <td> <select onchange="var k=this.selectedIndex; if(k==0) alert('faire autre choix') else { num = +k-1; chgeVue();}"> <option selected>Voir vue :</option> <script type="text/javascript"> for(var i in ejs_photo) document.write('<option>vue N°'+(+i+1)); </script> </select> </td><td> <button onclick="num++;chgeVue();"> > > </button> </td> </tr><tr> <td colspan="3"> <img name="viewer" src="" alt=""> </td> </tr> </table> </html>
-- sm
Bonjour,
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste
et je voudrai que cette fonction modifie le numéro d'ordre (variable
num) de la fonction principale de telle manière que quand je fait
suivant j'ai la photo suivante de la fonction principale.
Mon problème et que je n'arrive pas à modifier la variable de la
fonction en mémoire.
il te faut mettre num en variable globale
comme ça num sera en "mémoire"
Exemple :
<html>
<style type="text/css">
td { text-align:center; }
</style>
<script type="text/javascript">
var ejs_photo = [ // les photos
'vue_1.jpg',
'vue_2.jpg',
'vue_3.jpg',
'vue_4.jpg'
];
var num = 0; // compteur
var nbr = ejs_photo.length; // nombre de photos
function chgeVue() {
num = num>=nbr? 0 : num<0? nbr-1 : num;
document.viewer.src = ejs_photo[num];
}
</script>
<table width="100%" height="100%">
<tr height="22">
<td>
<button onclick="num--;chgeVue();"> < < </button>
<td>
<select onchange="var k=this.selectedIndex;
if(k==0) alert('faire autre choix')
else { num = +k-1; chgeVue();}">
<option selected>Voir vue :</option>
<script type="text/javascript">
for(var i in ejs_photo)
document.write('<option>vue N°'+(+i+1));
</script>
</select>
</td><td>
<button onclick="num++;chgeVue();"> > > </button>
</td>
</tr><tr>
<td colspan="3">
<img name="viewer" src="" alt="">
</td>
</tr>
</table>
</html>
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste et je voudrai que cette fonction modifie le numéro d'ordre (variable num) de la fonction principale de telle manière que quand je fait suivant j'ai la photo suivante de la fonction principale. Mon problème et que je n'arrive pas à modifier la variable de la fonction en mémoire.
il te faut mettre num en variable globale comme ça num sera en "mémoire"
Exemple :
<html> <style type="text/css"> td { text-align:center; } </style> <script type="text/javascript"> var ejs_photo = [ // les photos 'vue_1.jpg', 'vue_2.jpg', 'vue_3.jpg', 'vue_4.jpg' ]; var num = 0; // compteur var nbr = ejs_photo.length; // nombre de photos function chgeVue() { num = num>=nbr? 0 : num<0? nbr-1 : num; document.viewer.src = ejs_photo[num]; } </script> <table width="100%" height="100%"> <tr height="22"> <td> <button onclick="num--;chgeVue();"> < < </button> <td> <select onchange="var k=this.selectedIndex; if(k==0) alert('faire autre choix') else { num = +k-1; chgeVue();}"> <option selected>Voir vue :</option> <script type="text/javascript"> for(var i in ejs_photo) document.write('<option>vue N°'+(+i+1)); </script> </select> </td><td> <button onclick="num++;chgeVue();"> > > </button> </td> </tr><tr> <td colspan="3"> <img name="viewer" src="" alt=""> </td> </tr> </table> </html>
-- sm
ppellero
Voici le script complet je vais étudier le tiens pour essayer de les fusionner. Les vignettes doivent êtres dans le répertoire "vignettes" et avoir le même nom que les photos. La fonction ejs_aff_photos se rappelle elle même et ne permet pas de récuperer un nouvelle valeur de num.
Voici le script complet je vais étudier le tiens pour essayer de les
fusionner.
Les vignettes doivent êtres dans le répertoire "vignettes" et avoir le
même nom que les photos.
La fonction ejs_aff_photos se rappelle elle même et ne permet pas de
récuperer un nouvelle valeur de num.
Voici le script complet je vais étudier le tiens pour essayer de les fusionner. Les vignettes doivent êtres dans le répertoire "vignettes" et avoir le même nom que les photos. La fonction ejs_aff_photos se rappelle elle même et ne permet pas de récuperer un nouvelle valeur de num.
Voici le script complet je vais étudier le tiens pour essayer de les fusionner. Les vignettes doivent êtres dans le répertoire "vignettes" et avoir le même nom que les photos.
Ha! tien ? il y a des vignettes maintenant ? Je croyais que c'était un simple side-show (passe vue sans prévisualisation)
La fonction ejs_aff_photos se rappelle elle même et ne permet pas de récuperer un nouvelle valeur de num.
Merci de nous éviter le code php ... ici on traite du JavaScript !
print ( "<img src="$base$vig" onclick="pointe('$vig');" title="Clic pour grande vue" alt=''>n");
$i++; } ?> </div> [/code]
-- sm
Voici le script complet je vais étudier le tiens pour essayer de les
fusionner.
Les vignettes doivent êtres dans le répertoire "vignettes" et avoir le
même nom que les photos.
Ha! tien ? il y a des vignettes maintenant ?
Je croyais que c'était un simple side-show (passe vue sans prévisualisation)
La fonction ejs_aff_photos se rappelle elle même et ne permet pas de
récuperer un nouvelle valeur de num.
Merci de nous éviter le code php ... ici on traite du JavaScript !
Voici le script complet je vais étudier le tiens pour essayer de les fusionner. Les vignettes doivent êtres dans le répertoire "vignettes" et avoir le même nom que les photos.
Ha! tien ? il y a des vignettes maintenant ? Je croyais que c'était un simple side-show (passe vue sans prévisualisation)
La fonction ejs_aff_photos se rappelle elle même et ne permet pas de récuperer un nouvelle valeur de num.
Merci de nous éviter le code php ... ici on traite du JavaScript !
print ( "<img src="$base$vig" onclick="pointe('$vig');" title="Clic pour grande vue" alt=''>n");
$i++; } ?> </div> [/code]
-- sm
Bruno Desthuilliers
Bonjour,
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste et je voudrai que cette fonction modifie le numéro d'ordre (variable num) de la fonction principale de telle manière que quand je fait suivant j'ai la photo suivante de la fonction principale. Mon problème et que je n'arrive pas à modifier la variable de la fonction en mémoire.
il te faut mettre num en variable globale comme ça num sera en "mémoire"
Avec comme conséquence que tu ne peux gérer qu'un seul slideshow par page (ce qui n'est pas forcément un pb, à toi de voir). L'autre solution étant d'utiliser une approche objet.
Bonjour,
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la
liste et je voudrai que cette fonction modifie le numéro d'ordre
(variable num) de la fonction principale de telle manière que quand je
fait suivant j'ai la photo suivante de la fonction principale.
Mon problème et que je n'arrive pas à modifier la variable de la
fonction en mémoire.
il te faut mettre num en variable globale
comme ça num sera en "mémoire"
Avec comme conséquence que tu ne peux gérer qu'un seul slideshow par
page (ce qui n'est pas forcément un pb, à toi de voir). L'autre solution
étant d'utiliser une approche objet.
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste et je voudrai que cette fonction modifie le numéro d'ordre (variable num) de la fonction principale de telle manière que quand je fait suivant j'ai la photo suivante de la fonction principale. Mon problème et que je n'arrive pas à modifier la variable de la fonction en mémoire.
il te faut mettre num en variable globale comme ça num sera en "mémoire"
Avec comme conséquence que tu ne peux gérer qu'un seul slideshow par page (ce qui n'est pas forcément un pb, à toi de voir). L'autre solution étant d'utiliser une approche objet.
ppellero
J'ai mis le code complet pour qu'il soit compréhensible! Toujours aussi aimable dans ces news!
Merci de nous éviter le code php ... ici on traite du JavaScript !
-- Paul Pellero Agay (Var)
J'ai mis le code complet pour qu'il soit compréhensible!
Toujours aussi aimable dans ces news!
Merci de nous éviter le code php ... ici on traite du JavaScript !
J'ai mis le code complet pour qu'il soit compréhensible! Toujours aussi aimable dans ces news!
Merci de nous éviter le code php ... ici on traite du JavaScript !
-- Paul Pellero Agay (Var)
Mickaël Wolff
J'ai mis le code complet pour qu'il soit compréhensible!
Justement, c'est incompréhensible ainsi. Un bonne méthode de travail, pour déterminer la provenance d'un comportement inattendu, c'est de séparer les choses.
Toujours aussi aimable dans ces news! M'en diras-tu tant !
J'ai mis le code complet pour qu'il soit compréhensible!
Justement, c'est incompréhensible ainsi. Un bonne méthode de travail,
pour déterminer la provenance d'un comportement inattendu, c'est de
séparer les choses.
Toujours aussi aimable dans ces news!
M'en diras-tu tant !
J'ai mis le code complet pour qu'il soit compréhensible!
Justement, c'est incompréhensible ainsi. Un bonne méthode de travail, pour déterminer la provenance d'un comportement inattendu, c'est de séparer les choses.
Toujours aussi aimable dans ces news! M'en diras-tu tant !
J'ai mis le code complet pour qu'il soit compréhensible!
d'ajouter le php ne fait qu'encombrer
Toujours aussi aimable dans ces news!
alors là faut pas se formaliser non plus !
Merci de nous éviter le code php ... ici on traite du JavaScript !
et puis essayer de répondre dans l'ordre : la réponse *après* ce à quoi on fait référence
-- sm
ppellero
J'ai résolu mon problème :
Il faut simplement rappeler la fonction principale à partir de la deuxième fonction. Maintenant quand je clique sur une vignette et que je fait "suivant" j'ai bien la photo suivante de celle qui a été cliquée.
Merci à tous de votre attention.
Paul
Bonjour,
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste et je voudrai que cette fonction modifie le numéro d'ordre (variable
-- Paul Pellero Agay (Var)
J'ai résolu mon problème :
Il faut simplement rappeler la fonction principale à partir de la
deuxième fonction.
Maintenant quand je clique sur une vignette et que je fait "suivant"
j'ai bien la photo suivante de celle qui a été cliquée.
Merci à tous de votre attention.
Paul
Bonjour,
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste
et je voudrai que cette fonction modifie le numéro d'ordre (variable
Il faut simplement rappeler la fonction principale à partir de la deuxième fonction. Maintenant quand je clique sur une vignette et que je fait "suivant" j'ai bien la photo suivante de celle qui a été cliquée.
Merci à tous de votre attention.
Paul
Bonjour,
J'ai une fonction qui se charge en mémoire pour faire défiler des photos.
J'ai une deuxième fonction qui permet de choisir une photo dans la liste et je voudrai que cette fonction modifie le numéro d'ordre (variable
-- Paul Pellero Agay (Var)
SAM
J'ai résolu mon problème :
Il faut simplement rappeler la fonction principale à partir de la deuxième fonction.
oui comme donné dans autre post. (mais peut-être n'as-tu pas lu après la ligne à propos du php?)
Variante :
function pointe(quoi) { quoi = quoi.src; quoi = quoi.substring(quoi.lastIndexOf('/')+1); for(var i in ejs_photo) if(ejs_photo[i].indexOf(quoi)>=0) ejs_aff_photos(i); }