Pb effet de style

Signaler
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008
-
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008
-
slt,
g  un script permettant de mettre en diapo toutes images d'un repertoire avec intervalle de temps
seul hic!
 je cherche a mettre different effet comme faire une pixellisation puis une apparition en fondu et autre
mais je ne parviens pas a mettre plusieurs effets
voici mon script :

<head>
<!-- DEBUT DU SCRIPT -->
<SCRIPT LANGUAGE="JavaScript">
imgPath = new Array;
if (document.images)
 {
 var num=0;
<?
$rep=opendir('../uploads/');
while ($file = readdir($rep)){
 if($file != '..' && $file !='.' && $file !='' && $file !='Thumbs.db'){
 ?>
 imgPath[num++] = '../uploads/<? echo $file; ?>';
 <?}
}
closedir($rep);
clearstatcache();
?>


 }
a = 0;
b = 0;
function ejs_img_fx(img)
 {
 if(img && img.filters && img.filters[0])
  {
  img.filters[0].apply();
  img.filters[0].play();
  }
 }


function StartAnim()
 {
  document.write('[# ]');
  defilimg()
 }

function defilimg()
 {
 if (a == num)
  {
  a = 0;
  }
 if (document.images)
  {
  ejs_img_fx(document.defil)
  document.defil.src = imgPath[a];
  tempo3 = setTimeout("defilimg()",2000);
  a++;
  }
 }




function alea(b)
{
eff = new Array;
eff[0]="filter:progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=100,Duration=1)";
eff[1]="filter:alpha(opacity=100)";





if (b == 2)
 {
 b = 0;
 }
eff[b++];
}


</SCRIPT>
<!-- FIN DU SCRIPT -->
</head>

<SCRIPT LANGUAGE="JavaScript">
StartAnim()
</SCRIPT>

6 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
B

onjour...

Création d'un tableau d'effets en variable globale...
  var Filtre = new Array;
  Filtre[0]="progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=100,Duration=1)";
  Filtre[1]="alpha(opacity=100)";

Modification de la Fonction de défilement...


//----------------
function defilimg(){
  var Index = ValeurAleatoire();  // Récup. d'une valeur Aléatoire
  var Obj = document.getElementById( ' IMAGE ');


// Récup. Objet Image






  if (a == num){
  a = 0;
  }
  if( Obj){
    ejs_img_fx( Obj);


   

Obj

. style.filter =Filtre[Index];  // application du filtre...



    Obj.src = imgPath[a];




    tempo3 = setTimeout("defilimg()",2000);
    a++;
  }
}





Modification de la Fonction de départ...




//------------------
function StartAnim(){
  document.write('[# ]');
  defilimg();
 }





Il te restes a créer la function Aléatoire...



//-----------------------
function ValeurAleatoire(){
  var Num;
... Ton code Aléatoire...
  return( Num);
}





Cela devrait être bon mais ne fonctionner que sous IE...



;0)
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

slt merci pour les modifications que tu m a apporté cela semble plus clair mais malheureusement les effets ne fonctionnent pas meme si je remplacer le index par une valeur, le diapo fontionne sans effets de tyle Obj
.style.filter=Filtre[0];  // application du filtre...

a l'origine avant d essayer de mettre plusieurs effet voila le code qui fonctionnait

function StartAnim(){
  document.write('[# ]');
  defilimg();
 }

 et accompagné des autres fonctions que j avais au début avant tes modifications
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
B

onjour...

1000 Excuses un Copier Coller malencontreux



//----------------
function defilimg(){
  var Index = ValeurAleatoire();  // Récup. d'une valeur Aléatoire
  var Obj = document.getElementById( ' IMAGE ');


// Récup. Objet Image






  if (a == num){
    a = 0;
  }
  if( Obj){
   <strike> ejs_img_fx( Obj);</strike>


   

Obj



.
style.filter =Filtre[Index];





    Obj.
src = imgPath[a];





     ejs_img_fx( Obj); // Application du filtre une fois défini BIEN SUR...





    tempo3 = setTimeout("defilimg()",2000);
    a++;
  }
}












;0)
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

c bon super ça marche!!
par contre l erreur venait aussi de moi car alpha(opacity=100) ne fonctionnait pas pk ?? je ne sais pas donc cela empechait le bon fonctionnement du script

enfin bref encore merci !!
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
B

onjour...

le filtre alpha( opacity=xxx) n'est aps un effet de transition mais un fitre appliqué à l'image, il te faudrait faire varier la valeur d'opacity pour en faire un effet...

un lien complet sur les filtres IE



;0)
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008

ok merci