Creation de javascript dynamique ...

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 2 mars 2006 à 01:24
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 2 mars 2006 à 11:26
Voila il y a peu j'ai cherché une source qui permettait d'afficher avec une temporisation des images. J'ai donc cherché et trouvé ce code:
<html>
<head>
<title> Animation</title>
</head>

<!-- afficher la 1ere image -->

<script type="text/javascript">
<!--
// tableau de toute la sequence
var b = new Array();
b[0] = new Image(); b[0].src = "./img/01.jpg";
b[1] = new Image(); b[1].src = "./img/02.png";
b[2] = new Image(); b[2].src = "./img/03.jpg";
b[3] = new Image(); b[3].src = "./img/04.jpg";
var i = 0;
function Animation()
{
if(i > 3) i = 0;
document.images[0].src = b[i].src;
i = i + 1;
window.setTimeout("Animation()",2000);
//On affiche chaque image pendant 2s
}
document.images[0].src = b[0].src;
window.setTimeout("Animation()",2000);
//-->
</script>
</html>

mais je me suis dit que au lieu de modifier a chaque fois le fichier pour ajouter des images, j allais creer un petit script en php qui referait tout le code selon le nombre d images... donc je fais mon script mais ca ne marche pas et je vois pas pq car les sources sont similaires a l 'arrivée a part la disposition ou qqch qui m aurait échapé...

<?php
require_once ('./include/config.php');
/*config.php
$dir_directory="./img/";
$file="anim.html";
*/
echo "<center>Mise à jour des images</center>";
echo "<form method="post" action="creanim.php">";
$newcontent='';
if(is_dir ($dir_directory)){
$d = opendir($dir_directory);
while ($entry = readdir($d)){
if($entry != '..' && $entry !='.' && $entry!='Thumbs.db'){
$handle = fopen($file,'w+');
$newcontent=$newcontent.$entry.'~';
}
}
echo $newcontent.'
';
$contentexplode=explode('~',$newcontent);
echo $nbpics=count($contentexplode)-1;
echo "
";
fputs($handle, "<html><head></head><!-- afficher la 1ere image --><script type="text/javascript"><!--var b = new Array(); ");
for($i=0;$i<=$nbpics-1;$i++){
$pic=$dir_directory.$contentexplode[$i];
fputs($handle,"b[$i] = new Image(); b[$i].src = "$pic"; ");
} fputs($handle,"var i 0; function Animation() { if(i > $nbpics) i0; document.images[0].src=b[i].src; i=i+1; window.setTimeout("Animation()",2000); } document.images[0].src = b[0].src; window.setTimeout("Animation()",2000); //--></script></html>");
fclose($handle);
}
echo "</form>";
?>

Si qqun sait pourquoi ça ne fonctionne pas je suis preneur !
Merci!!!

-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

4 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
2 mars 2006 à 01:25
juste une chose ... j ai laissé les balises form car je pensais en faire un formulaire pour le lancer par la suite mais ce n'est pas fait!


-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 mars 2006 à 09:26
Hello,

je ne comprends pas ce que tu cherches à faire. Tes explications ne sont pas assez claires, me concernant.
Et explique aussi ce qui ne marche pas.
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
2 mars 2006 à 11:18
Bonjour!
En fait ce que je cherche a faire :
-utiliser le php pour creer un fichier html
-ecrire dans ce fichier du code afin de creer une animation(défilement d image)
-code dépendant des images présentes dans le dossier ./img

Ce qui fonctionne:
-creation du fichier html
-ecriture de code dynamique dans le fichier

Ce qui ne marche pas :
-Après avoir ecrit le code (qui depend du nombre d images et de leurs noms) le code semble juste (comme dans l exemple cité en premier) néanmois aucune image ne s'affiche. Lorsque j edite le fichier, le code ainsi créé tient en une ligne et lorque je remet en forme cette ligne (pour plus de lisibilité en appuyant du "entrée" pour bien voir les lignes) le code refonctionne. C'est comme si mon navigateur n'arrivait pas a interpreté du code sur une ligne même si il est correct. A moins que ca vienne d'autre chose mais je ne comprend pas.

Si qqun veut essayer ce script, il suffit de creer un dossier img a coté du script avec des images dedans et de lancer le script.


-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 mars 2006 à 11:26
Ben mets le en forme à l'écriture alors, avec des \r\n à la fin de chaque instruction.
0
Rejoignez-nous