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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    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 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    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

+ 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