ppellero a écrit :
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