clearTimeout dans les choux
Bonjour, ce code est sensé faire basculer différents div représentés par des pages d'un livre.
Il marche très bien ... mais j'ai voulu rajouter une "interruption" lorsque l'on reclicke sur le bouton ...
Et la patatraque, mon cleartimeout ne veut rien entendre ... çà continue tout de même. J'ai fait un test avec une alert au même endroit, elle se déclenche parfaitement...
En espérant que quelqu'un est ma solution ... car après avoir chercher sur google et ici un tas de possibilités pour que ca ne marche pas, je n'ai pas trouvé...
Merci de votre aide.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| <script type="text/javascript">
/** Script de changement de page */
var page=0;
var inmove=0;
var moveid=0;
var movepos=0;
var moveway=0;
var delai;
function tourne(way){
if(inmove==0){
if ((way==-1 && page<6) || (way==1 && page>0)){
inmove=1;
if(way==-1){
document.getElementById("stock"+(page+2)).style.display = "block";
document.getElementById("stock"+(page+1)).style.zIndex = 2;
document.getElementById("stock"+(page+2)).style.zIndex = 1;
document.getElementById("stock"+(page+0)).style.zIndex = 0;
moveid=page+1;
movepos=400;
moveway=-1;
var delai = setTimeout("glisse()",3);
}
else {
document.getElementById("stock"+(page-1)).style.display = "block";
document.getElementById("stock"+(page+0)).style.zIndex = 2;
document.getElementById("stock"+(page-1)).style.zIndex = 1;
document.getElementById("stock"+(page+1)).style.zIndex = 0;
moveid=page;
movepos=30;
moveway=1;
var delai = setTimeout("glisse()",3);
}
}
}
else {clearTimeout(delai);
}
function glisse(){
movepos=movepos+(moveway*6);
if (movepos>400){movepos=400;}
if (movepos<30){movepos=30;}
document.getElementById("stock"+moveid).style.left=movepos+"px";
if (moveway==1){
if (movepos==400){
document.getElementById("stock"+(moveid+1)).style.display = "none";
document.getElementById("stock"+moveid).style.zIndex = 1;
page=page-1;
inmove=0;
}
else{
delai = setTimeout("glisse()",1000);
}
}
else{
if (movepos==30){
document.getElementById("stock"+(moveid-1)).style.display = "none";
page=page+1;
inmove=0;
}
else{
delai = setTimeout("glisse()",1000);
}
}
}
</script> |