Pb effet de style

gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 12 sept. 2006 à 15:01
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 14 sept. 2006 à 19:56
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

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
12 sept. 2006 à 19:44
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)
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
13 sept. 2006 à 18:49
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
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
14 sept. 2006 à 08:06
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)
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 sept. 2006 à 19:31
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 !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
14 sept. 2006 à 19:53
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)
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 sept. 2006 à 19:56
ok merci
0
Rejoignez-nous