[Urgent] Diaporama en javascript (Problème de chargement)

Diaporama en javascript (Problème de chargement) [Urgent] - HTML/CSS - Programmation

Marsh Posté le 26-04-2007 à 11:21:10    

Hello les gens,
en fait j'ai un slideshow (emprunter sur internet) et je voudrais ajouter que quand la souris et dessus, l'image s'arrête. Je sais que je dois utiliser l'attribut onmouseover mais je ne vois pas comment. Merci
 
<html>
<head>
<script>
var SlideShowSpeed = 1000;
 
var CrossFadeDuration = 3;
 
var Picture = new Array();
 
Picture[1]  = 'Image1.jpg';
Picture[2]  = 'Image2.jpg';
Picture[3]  = 'Image3.jpg';
 
var tss;
var iss;
var jss = 1;
var pss = Picture.length-1;
 
var preLoad = new Array();
for (iss = 1; iss < pss+1; iss++)
{
 preLoad[iss] = new Image();
 preLoad[iss].src = Picture[iss];
}
 
function runSlideShow()
{
 if (document.all)
 {
  document.images.PictureBox.style.filter="blendTrans(duration=2)";
  document.images.PictureBox.style.filter="blendTrans(duration=CrossFadeDuration)";
  document.images.PictureBox.filters.blendTrans.Apply();
 }
 
 document.images.PictureBox.src = preLoad[jss].src;
 if (document.all) document.images.PictureBox.filters.blendTrans.Play();
 jss = jss + 1;
 if (jss > (pss)) jss=1;
 tss = setTimeout('runSlideShow()', SlideShowSpeed);
}
 
function pause()
{
 
}
 
</script>
 
</head>
 
<body onload="runSlideShow()">
<img src=Default.jpg name=PictureBox width=150 height=150 onmouseover="pause()">
</body>
 
</html>


Message édité par Glycerin le 07-05-2007 à 15:06:16
Reply

Marsh Posté le 26-04-2007 à 11:21:10   

Reply

Marsh Posté le 26-04-2007 à 13:09:11    

Tu peux essayer :
<img ... onmouseover="clearTimeout(tss);"  onmouseout="tss=setTimeout('runSlideShow()', SlideShowSpeed);" />
 
Il me semble que ça devrait marcher.
 

Reply

Marsh Posté le 26-04-2007 à 14:06:46    

Ca marche !!!!!!! Merci beaucoup !!!!

Reply

Marsh Posté le 27-04-2007 à 10:58:38    

J'ai jamais fait de javascript (ça se voit je pense), yaurai un moyen de se débrouiller sans variables globales ? Merki

Reply

Marsh Posté le 27-04-2007 à 13:15:28    

Pas vraiment.  Tu peux mettre tss et SlideShowSpeed dans un objet,  mais la référence à l'objet devra quand mème ètre globale.
 
En d'autres termes,  si tu as un objet A dans lequel tu stockes les variable tss et SlideShowSpeed,  pour l'utiliser tu devras faire :
<img ... onmouseover="clearTimeout(A.tss);"  onmouseout="A.tss=setTimeout('runSlideShow()', A.SlideShowSpeed);" />
 
A devra ètre global.
 
Sois dit-en passant,  tu peux aussi mettre la procédure runSlideShow() dans l'objet...
 
En ce qui me concerne,  je préfère toujours utiliser des objets et limiter au maximum les variables globales,  l'expérience m'a montré à la dure que ça simplifie considérablement le débugage.


Message édité par bignose le 27-04-2007 à 13:16:59
Reply

Marsh Posté le 04-05-2007 à 17:21:25    

Je ressort ce post parce que j'ai à nouveau des soucis :
Le truc maintenant c'est que j'ai 2 diaporama d'un coté d'une div et un éditeur de l'autre (pour y ajouter des images). Et le truc c'est que ça me fait perdre la main sur l'éditeur (je ne peux plus cliquer sur les champs) mais de plus qu'un seul des 2 se charge, le 2nd lui il faut passer la souris dessus pour le faire tourner. Des idées parce que je ne trouve pas du tout ???


Message édité par Glycerin le 04-05-2007 à 17:23:34
Reply

Marsh Posté le 05-05-2007 à 17:58:00    

Je me permet un petit Up et de rajouter [Urgent] parce que ça doit marcher pour ce soir.


Message édité par Glycerin le 07-05-2007 à 14:15:38
Reply

Marsh Posté le 07-05-2007 à 15:08:59    

J'ai réglé le problème de la perte de main, c'était du à un élément autre que dans le code. Des idées pour le chargement ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed