IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Fondu enchainé javascript pur


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut Fondu enchainé javascript pur
    Bonjour,
    Surement vieux jeux, je codes toujours mes javascript, (peut-être a tort )
    Bref je voudrais faire un fondu echainé d'images, un code sommaire mais compatible IE FireFox Opera etc ...
    pour cela j'utiliserais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cadre.filters.blendTrans.Play(2)
    par exemple avec un DIV ayant comme style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FILTER: blendTrans(Duration=2);
    Apparament cela ne marche pas sous firefox

    Que me conseillez vous
    merci d'avance

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Apparament cela ne marche pas sous firefox
    FILTERS est exclusif IE si je ne m'abuse.

    mais il existe http://javascript.developpez.com/demos/fondu/

    [edit] Rubrique Contribuez, c'est ici http://www.developpez.net/forums/d88...ondu-enchaine/

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci a toi,
    Mais sur ton premier lien il me dit

    Détails de l’erreur de la page Web

    Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
    Horodateur : Sat, 23 Jul 2011 09:27:06 UTC
    Message : Cet objet ne gère pas cette propriété ou cette méthode
    Ligne : 42
    Caractère : 7
    Code : 0
    URI : http://javascript.developpez.com/demos/fondu/

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Message : Cet objet ne gère pas cette propriété ou cette méthode
    ah oui!
    ...effectivement cela plante sour IE<9 because document.getElementsByClassName et donc par rebond Array.indexOf qui plante car non implémenté.

    Il te faut donc modifer Fondu.prototype.getImages.
    il y aurait plusieurs méthodes, je t'en livre une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Fondu.prototype.getImages = function(){
      var tmp = [];
      if(document.getElementsByClassName){
        tmp = document.getElementsByClassName(this.classe_img);
      }
      else{
        var tImg, i=0;
    /* PARTIE A SUPPRIMER --
        while(document.getElementsByTagName('*')[i]){
          if(document.getElementsByTagName('*')[i].indexOf(this.classe_img)>-1){
            tmp.push(document.getElementsByTagName('*')[i]);
          }
          i++;
        }
      }
    */
        // correctif Array.indexOf non supporte sur <IE9
        tImg = document.getElementsByTagName('*');
        while( tImg[i]){
          if( tImg[i].className && tImg[i].className.indexOf(this.classe_img)>-1){
            tmp.push( tImg[i]);
          }
          i++;
        }
      }
      var j=tmp.length;
      while(j--){
        if(tmp[j].filters){
          tmp[j].style.width = tmp[j].style.width || tmp[j].offsetWidth+'px';
          tmp[j].style.filter = 'alpha(opacity=100)';
          tmp[j].opaque = tmp[j].filters[0];
          this.coeff = 1;
        }
        else{
          tmp[j].opaque = tmp[j].style;
        }
      }
      return tmp;
    }
    voila, il faudrait faire remonter l'information dans le 2nd lien que j'ai mis.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok et merci !

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    En fait, ce n'est pas un bug mais un oubli dans le code.
    Effectivement, pour IE<9 on passe dans le else mais il manque quelque chose dans la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(document.getElementsByTagName('*')[i].className.indexOf(this.classe_img)>-1)
    en fait, on recherche si l'élément possède la classe souhaitée, j'avais juste oublié le className

    EDIT : d'ailleurs, le code fourni dans la discussion est correct à ce niveau, c'est juste celui de la page d'exemple qui était erroné (c'est maintenant rectifié)
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour l'Ami ,
    Tu es toujours disponible, et efficace, super pour moi cette mise au point !
    merci a tous

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    OUPS !!!
    Citation Envoyé par moi même
    ...et donc par rebond Array.indexOf qui plante car non implémenté.
    j'ai répondu un peu vite, d'autant qu'il s'agit d'une nodeList et pas d'un tableau...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JavaScript] Fondu enchainé
    Par Bovino dans le forum Contribuez
    Réponses: 44
    Dernier message: 18/04/2013, 13h47
  2. Apparition en fondu avec javascript
    Par Emotion dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 07/11/2010, 18h54
  3. centrer un diaporama fondu enchainé
    Par pseudodejautilis dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/09/2009, 11h19
  4. Fondu enchainé entre 2 diapositives
    Par hophopzip dans le forum Powerpoint
    Réponses: 1
    Dernier message: 25/12/2007, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo