edelendil
Messages postés16Date d'inscriptionjeudi 24 mars 2005StatutMembreDernière intervention18 février 2009
-
14 avril 2006 à 23:40
edelendil
Messages postés16Date d'inscriptionjeudi 24 mars 2005StatutMembreDernière intervention18 février 2009
-
16 avril 2006 à 19:15
Salut, dans le cadre d'une banniere j'envisage d'utiliser comme fond
une selection aléatoire d'images choisies parmis des 10ene disponibles.
Le but est de repeter ce choix toutes les 3 secondes pour obtenir un
effet slideshow automatique et non répetitif (je n'aipas encore codé la
verification evitant d'avoir deux fois la même image en meme temps mais
ca ne devrait pas etre le plus difficile).
Parceque pour 'linstant j'arrive à prendre les images de maniere
aléatoires et à les afficher mais pas moyen de lancer celà en boucler,
j'utilise (sans doute mal) la fonction SetInterval mais rien ne se
passe.
Enfin bref voila le code
<SCRIPT LANGUAGE="JavaScript">
// On stock ici les images
var tabImgSave = new Array;
tabImgSave[0] = 'forme_01.gif';
tabImgSave[1] = 'forme_02.gif';
tabImgSave[2] = 'forme_03.gif';
tabImgSave[3] = 'forme_04.gif';
tabImgSave[4] = 'forme_05.gif';
tabImgSave[5] = 'forme_06.gif';
tabImgSave[6] = 'forme_07.gif';
tabImgSave[7] = 'forme_08.gif';
var nb_img = tabImgSave.length;
function affichage(){
//on en prend 3 au hasard
var tabImgAff = new Array;
for (i=0;i<3 ;i++ )
{
var rand = Math.floor( Math.random()*(nb_img));
tabImgAff[i]=tabImgSave[rand];
}
// et on les affiche
for (i=0;i<3 ;i++ ){
document.write('<td align=center></td>');
}
}
</SCRIPT>
</HEAD>
<SCRIPT LANGUAGE=\"JavaScript\"> var b = setInterval(affichage(),3000);</SCRIPT> <!-- et là ca ne se fait qu'une fois-->
Phil_Free
Messages postés275Date d'inscriptionsamedi 4 juin 2005StatutMembreDernière intervention28 avril 200611 15 avril 2006 à 15:36
Salut,
Et si tu l'écrivais comme ça:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>SlideShow</title>
<script type="text/javascript">
<!--
function affichage(){
// On stock ici les images
var tabImgSave = new Array;
tabImgSave[0] = 'forme_01.gif';
tabImgSave[1] = 'forme_02.gif';
tabImgSave[2] = 'forme_03.gif';
tabImgSave[3] = 'forme_04.gif';
tabImgSave[4] = 'forme_05.gif';
tabImgSave[5] = 'forme_06.gif';
tabImgSave[6] = 'forme_07.gif';
tabImgSave[7] = 'forme_08.gif';
var nb_img = tabImgSave.length;
//on en prend 1 au hasard
var tabImgAff ;
var rand = Math.floor( Math.random()*(nb_img));
tabImgAff = tabImgSave[rand];
// et on l'affiche
toThis = "";
if (document.getElementById) {
document.getElementById("textDiv").innerHTML = toThis;
}
else if (document.all) {
document.all["textDiv"].innerHTML = toThis;
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 15 avril 2006 à 05:56
Bonjour,
dans la fonction appelée affichage(), il y a document.write
lorsque la page a été totalement affichée ( a été
interprété ), et ce sera le cas au 2ème déclenchement de cette
fonction, document.write commence par effacer toute la page...
y compris le javascript.
pour s'en convaincre, click droit + afficher la source :
la page ne contiendra que les 3 <td align=center></td>'
et rien d'autre.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 15 avril 2006 à 15:46
c'est une solution...
mais pourquoi les tests document.getElementById et document.all
document.getElementById("textDiv").innerHTML = toThis;
tout court ? Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO></S< body>
Vous n’avez pas trouvé la réponse que vous recherchez ?