par
guilt92 » 07 mai 2008, 20:25
Bonjour,
Au moment du chargement de ma page j'appelle la fonction suivante :
qui appelle une fonction qui se trouve dans un fichier à part, qui contient le code suivant :
Code : Tout sélectionner
function preload()
{
//Preload des images du menu
<?php
$j=1;
list_dir("../screenshots",$j);
?>
}
Le code écrit se trouve dans la fonction php suivante :
function list_dir($name,$j) {
$i=0;
if ($dir = opendir($name)) {
while(false !== ($file = readdir($dir))) {
if(is_file($name.'/'.$file) && in_array(substr(strrchr($file,'.'),1),array("gif","jpg","png")))
{
$i++;
echo "img_".$j."_".$i." = new Image();\n";
echo "img_".$j."_".$i.".src = '".$name.'/'.$file."';\n";
//echo "alert('preloadé: '+img_".$j."_".$i.".src);";
}
if(is_dir($name.'/'.$file) && !in_array($file, array(".",".."))) {
$j++;
list_dir($name.'/'.$file,$j);
}
}
closedir($dir);
}
}
Donc voila, j'ai testé avec le alert et ca a l'air de fonctionner donc normalement mes images sont préloadés.
Mais, quand j'accède à ces images il y a un temps de chargement.
Le problème c'est que ces images ne sont pas "directement" dans la page, elle sont chargée dans un bloc en ajax qui récupère les images a charger avant de modifier la valeur d'un div...
En gros je me demande si le preload peut fonctionner avec cette méthode, je pensais que oui mais quand je charge mon div les images mettent du temps à charger...
quelqu'un aurait il une idée / solution ?
Merci.
Bonjour,
Au moment du chargement de ma page j'appelle la fonction suivante :
[code]<body onload="preload();">[/code]
qui appelle une fonction qui se trouve dans un fichier à part, qui contient le code suivant :
[code]function preload()
{
//Preload des images du menu
<?php
$j=1;
list_dir("../screenshots",$j);
?>
}[/code]
Le code écrit se trouve dans la fonction php suivante :
[php]function list_dir($name,$j) {
$i=0;
if ($dir = opendir($name)) {
while(false !== ($file = readdir($dir))) {
if(is_file($name.'/'.$file) && in_array(substr(strrchr($file,'.'),1),array("gif","jpg","png")))
{
$i++;
echo "img_".$j."_".$i." = new Image();\n";
echo "img_".$j."_".$i.".src = '".$name.'/'.$file."';\n";
//echo "alert('preloadé: '+img_".$j."_".$i.".src);";
}
if(is_dir($name.'/'.$file) && !in_array($file, array(".",".."))) {
$j++;
list_dir($name.'/'.$file,$j);
}
}
closedir($dir);
}
} [/php]
Donc voila, j'ai testé avec le alert et ca a l'air de fonctionner donc normalement mes images sont préloadés.
Mais, quand j'accède à ces images il y a un temps de chargement.
Le problème c'est que ces images ne sont pas "directement" dans la page, elle sont chargée dans un bloc en ajax qui récupère les images a charger avant de modifier la valeur d'un div...
En gros je me demande si le preload peut fonctionner avec cette méthode, je pensais que oui mais quand je charge mon div les images mettent du temps à charger...
quelqu'un aurait il une idée / solution ?
Merci.