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 :

appel de fonction au lancement du script


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Par défaut appel de fonction au lancement du script
    Bonjour,

    J'aimerais faire appel à une fonction au démarrage de mon script mais ça ne marche pas. Mon navigateur IE7 m'indique une erreur de type "objet attendu".

    J'ai donc créé une balise <a> pour faire le test et là, ça fonctionne.

    Voici mon code
    SCRIPT
    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
    40
    41
    42
    43
    44
     
     //tableau contenant les images
    var tab_img = new Array;    
     
    //Images stockées dans le tableau       
    tab_img[0] = 'Diapo/Novotel.jpg'
    tab_img[1] = 'Diapo/LiveMoroni.jpg'
    tab_img[2] = 'Diapo/KidsGuitare.jpg'
    tab_img[3] = 'Diapo/LiveMoroni3.jpg'
    tab_img[4] = 'Diapo/Elie.jpg'
    tab_img[5] = 'Diapo/Moroni.jpg'
     
    //Fonction de démarrage
    fonduOuverture("div_image",6000);
     
     
    //Fondu en ouverture sur la 1ère image
    function fonduOuverture(DivId, millisec)
    {
        var speed = Math.round(millisec / 100); 
        var timer = 0; 
     
        changeOpac(0, DivId);
     
        //Assigne la 1ère image du tableau
        document.getElementById(DivId).style.backgroundImage = "url(" + tab_img[2] + ")"; 
     
        //Affiche progressivement l'image à l'écran
        for(i = 0; i <= 100; i++)
        { 
            setTimeout("changeOpac(" + i + ",'" + DivId+ "')",(timer * speed)); 
            timer++; 
        } 
    }
     
    //Fonction qui attribue l'opacité à l'objet "div_image"
    function changeOpac(opacity, id) 
    {
        var object = document.getElementById(id).style;
        object.opacity = (opacity / 100);
        object.MozOpacity = (opacity / 100);
        object.KhtmlOpacity = (opacity / 100);
        object.filter = "alpha(opacity=" + opacity + ")";
    }
    HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div id="div_image"></div>
    <a href="javascript:fonduOuverture('div_image',6000)">Changer l'image</a>
    Pourriez-vous m'expliquer pourquoi la fonction fonduOuverture("div_image",6000) ne s'exécute pas au démarrage du script ?

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 92
    Par défaut
    Salut,

    Ton DIV div_image doit être placé avant l'appel à ta fonction fonduOuverture(). Est-ce bien le cas ?

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Salut

    En fait tu ne peux utiliser un élément en l'appelant via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById(DivId)....
    Avant sa création dans le document html,essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="div_image"></div>
    <script type="text/javascript">
    //Fonction de démarrage
    fonduOuverture("div_image",6000);
    </script>

  4. #4
    Membre éclairé Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Par défaut
    Bonsoir,

    Un grand merci à vous deux pour vos lumières qui m'ont permis de clôturer ma page internet.

    En revanche, je pensais que le body était chargé avant tout autre élément SCRIPT, STYLE. Ce qui fait que je ne comprenais pas pourquoi ça ne fonctionnait pas.

    Encore un grand merci.

    Bye.


  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    pour tout ce qui est de l'exécution de script au début d'une page, place-le dans ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    window.onload= function() {
      fonduOuverture("div_image",6000);
      // un autre appel
      // un troisième appel
      // ...
    };

  6. #6
    Membre éclairé Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Par défaut
    J'en prends bonne note dingoth.

    Merci à vous les gars.


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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/02/2010, 06h34
  2. Appel à une fonction écrite dans un script
    Par sango85 dans le forum MATLAB
    Réponses: 3
    Dernier message: 12/12/2007, 08h52
  3. Appeler une fonction en fin de script
    Par Oprichnik dans le forum Langage
    Réponses: 4
    Dernier message: 26/08/2007, 23h42
  4. Appel de fonction à partir d'un script
    Par dachu dans le forum Images
    Réponses: 3
    Dernier message: 04/11/2006, 17h45
  5. Réponses: 8
    Dernier message: 19/10/2005, 15h06

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