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 :

faire apparaitre un calque progressivement


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut faire apparaitre un calque progressivement
    Bonjour,

    j'aimera au survol d'une zone sur une image faire apparaitre un calque (ça jusque la je sais faire, c'est meme deja fait JS+CSS) sauf que j'aimerais le faire apparaitre progressivement du haut vers le bas

    pour avoir un exemple de ce que je veux obtenir comme effet :

    http://configure2.euro.dell.com/dell...ftdppnotebook3
    quand vous avez tout choisis valider et ajouter au panier, la il y a une barre de progression de la config puis votre selection apparait en degrader je cherche a obtenir un resultat similaire

    Comment ça je suis fou j'ai pensé a regarder dans la source mais j'suis un peut larguer et puis j'aime pas copier coller betement avec des truc qui me servent pas ^^ j'aime bien comprendre ce que je fait

    Merci d'avoir lu ce message et à ceux qui vont prendre de leur temps pour m'aider

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Cela peut être fait (d'ailleurs ca doit être fait) avec du javascript

  3. #3
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Quelque chose comme ça ?

  4. #4
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut
    Citation Envoyé par Kerod
    Cela peut être fait (d'ailleurs ca doit être fait) avec du javascript
    oui mais comment ?

    Citation Envoyé par FremyCompany
    Quelque chose comme ça ?
    non pas du tout ^^ c'est pas la barre de progression que je veux c'est un affichage du au vers le bas progressif

  5. #5
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="div" style="overflow: scroll"></div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var timer;
    timer=setInterval(function() {
       var h = div.offsetHeight;
       if (h != 150) { h++; }
       else { clearInterval(timer); }
       div.style.height=h+"px";
    },100)

  6. #6
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut
    heu ... pourais tu me donnez des explications ?

    concretement avec une image de 600*600 par exemple ? je fait comment

    et avec un txt ?

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Le but est d'agrandir un calque et ce quelque soit son contenu.

    As-ti au moins essayé le code donné ? Car si tu avais testé tu aurais vu toi même le résultat. La hauteur correspond ici à 150

  8. #8
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut
    j'ai essayer effectivement j'ai mis une image entre le div mais ça la fait pas apparaitre progressivement ...

    idem avec un tableau et du texte

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    As tu au moins lancé la procédure ??

    Bon allez comme ca mais c'est la meme chose :
    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
    <html>
     
    <script langage="javascript">
    var timer; 
     
        function croll(id) 
        {  
            var h = document.getElementById(id).offsetHeight; 
            alert('');if (h != 150) 
            { h++; document.getElementById(id).style.height=h+"px"; 
            timer = setInterval(croll('div'),1);}  
            else { clearInterval(timer); }  
     
        }
     
    </script>
     
    <body onload="croll('div')">
    <div id="div" style="background-color:#FF0000"></div>
    </body>
    </html>

  10. #10
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut
    en cherchant sur le net j'ai trouver ça :
    http://script.aculo.us/

    ça donne :
    http://derniere-bataille.net/sources...effect-appear/

    cependant ça m'interresse ce bout de code mais j'ai pas le meme effet :
    http://derniere-bataille.net/sources...ar/index-2.htm j'ai elever le alert a la place faut que je mette une tempo ?

  11. #11
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    C'est à toi de trouver la temporisation qui correspond à tes attentes

  12. #12
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut
    la tempo c'est ? setInterval ? setTimeout ?

  13. #13
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Citation Envoyé par Kerod
    As tu au moins lancé la procédure ??

    Bon allez comme ca mais c'est la meme chose :
    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
    <html>
     
    <script langage="javascript">
    var timer; 
     
        function croll(id) 
        {  
            var h = document.getElementById(id).offsetHeight; 
            alert('');if (h != 150) 
            { h++; document.getElementById(id).style.height=h+"px"; 
            timer = setInterval(croll('div'),1);}  
            else { clearInterval(timer); }  
     
        }
     
    </script>
     
    <body onload="croll('div')">
    <div id="div" style="background-color:#FF0000"></div>
    </body>
    </html>
    Lol, comme ca, ca ne risque pas de marcher

    Code Explication technique : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    déjà, à chaque passage dans croll, tu recrée un timer, donc, tu ne peux pas tous les arrêter à la fin...
    
    deplus, je sais c'est trompeur, il ne faut pas écrire setTimeout(croll(id), 1) mais bien setTimeout(function() { croll(id) }, 1)
    
    Et puis dernière chose, le pauvre n'en a pas fini de cliquer sur ok, vu le nombre d'alert qui seront affichée... 
    Solution proposée (pk tjrs chercher des solutions lointaines comme sur des framerworks ?) :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html><body onload="scroll('div', 150)"><div id="div" style="background-color:green; overflow:hidden; height:0px;"></div><script><!--
       scroll=function(id, hmax) {
          var scrollTimer=null;
          var o = document.getElementById(id);
          scrollTimer=setInterval(function() {
             var h = o.offsetHeight;
             if (h != hmax) { h++; }
             else { clearInterval(scrollTimer); }
             o.style.height=h+"px";
          }, 10);
       }
    --></script></body></html>

  14. #14
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut
    fremy peux tu detaillé et expliquer ton code s'il te plait, je suis pas un expert en javascript ... et la ton code comme tu le fourni je le comprend pas

    merci

  15. #15
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Voila, c'est commenté !

    Lance la page dans ton navigateur et tu comprendras
    Code HTML : 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
    <html><body onload="scroll('div', 150)"><div id="div" style="background-color:green; overflow:hidden; height:0px;">
    Ici tu mets le contenu de la zone qui doit apparaître<br/>
    Cela peut prendre plusieurs lignes<br/>
    Pour lancer l'effet, tu dois écrire le code JS suivant : "scroll('div', 150)"<br/>
    Ici, il est dans le onload du &lt;BODY&gt; pour que cela se lance au chargment de la page
    <br/><br/>
    Et voila tout !
    </div><script><!--
       /* id: L'ID du div surlequel faire l'effet, celui ci doit avoir ceci pour style : "background-color:green; overflow:hidden; height:0px;" */
       /* hmax: la hauter que tu veux donner au div */
       scroll=function(id, hmax) {
          var scrollTimer=null;
          var o = document.getElementById(id);
          scrollTimer=setInterval(function() {
             var h = o.offsetHeight;
             if (h != hmax) { h++; }
             else { clearInterval(scrollTimer); }
             o.style.height=h+"px";
          }, 10);
       }
    --></script></body></html>

  16. #16
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut
    merci

    par contre tu as mis le script en commentaires ^^ donc sans le lancer j'ai su que ça marcherais pas^^

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

Discussions similaires

  1. Faire apparaitre des calques de manière aléatoire
    Par __arno__ dans le forum Flash
    Réponses: 2
    Dernier message: 21/09/2006, 15h02
  2. Faire apparaitre le menu général
    Par Terminator dans le forum IHM
    Réponses: 10
    Dernier message: 11/12/2004, 17h03
  3. Réponses: 2
    Dernier message: 22/10/2004, 06h50
  4. JSP: faire apparaitre des données ...
    Par LeDébutantJava dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/06/2004, 16h21
  5. [Plugin / Graphique] Faire apparaitre une fenêtre?
    Par relivio dans le forum Eclipse Platform
    Réponses: 7
    Dernier message: 31/03/2004, 19h10

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