Partage
  • Partager sur Facebook
  • Partager sur Twitter

Effet de fondu entre deux pages

    4 novembre 2010 à 9:10:20

    Bonjour,

    J'ai trouvé ce petit bout de code, cela mon convient tout a fait, mais je souhaitais savoir s'il est possible d'appliquer cet effet qu'à une partie de la page (un seul bloc) ?

    <script type="text/javascript">
        window.onload = function() {MakeFluffHappen()}
        function MakeFluffHappen() {
        FluffyKittenMaker(0);
        Conflaburator(0);
        }
        function FluffyKittenMaker(SomeNumberThing) {
        document.body.style.opacity = SomeNumberThing/100;
        }
        function Conflaburator(SomeNumberThing) {
        if (SomeNumberThing <= 100) {
        FluffyKittenMaker(SomeNumberThing);
        SomeNumberThing += 10;
        window.setTimeout("Conflaburator("+SomeNumberThing+")", 100);
        }
        }
    
        </script>
    


    S'il faut faire avec un code tout à fait différent, cela ne me dérange pas.
    Merci pour le coup de pouce !

    NouGa
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      4 novembre 2010 à 9:15:37

      tu peut l'appliquer à des éléments en particulier mais il faudrai que tu utilse un getElementById (je pense)et peut être modifier 2-3 trucs ;)

      window.onload = function() {MakeFluffHappen()}
          function MakeFluffHappen() {
          FluffyKittenMaker(0);
          Conflaburator(0);
          }
          function FluffyKittenMaker(SomeNumberThing) {
          document.getElementById('tonID').style.opacity = SomeNumberThing/100;
          }
          function Conflaburator(SomeNumberThing) {
          if (SomeNumberThing <= 100) {
          FluffyKittenMaker(SomeNumberThing);
          SomeNumberThing += 10;
          window.setTimeout("Conflaburator("+SomeNumberThing+")", 100);
          }
          }
      


      Remplace le 'tonID' par l'Id de ton élément a mettre en fondu ;)
      • Partager sur Facebook
      • Partager sur Twitter
        4 novembre 2010 à 10:17:42

        Ok super cela fonctionne. Est il possible que la page initiale s'efface aussi en fondu?
        ---> Car j'ai l'impression que ce n'est que la nouvelle qui arrive en fondu mais que la précédente s'en va d'un coup.

        (Et si cela est possible, peut on aussi faire en sorte que ca ne se fasse pas (les fondus) l'un après l'autre mais en même temps (de manière a ce que l'on ne voit pas une page "vierge" entre les deux))

        Merci encore
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          4 novembre 2010 à 10:21:54

          Bonne question .. je débute en JS donc je sais pas mais c'est surement possible.peut être en appliquant cette fonction pour toute la page précédente lors du clique d'un lien .(je sais pas si j'ai été claire? )
          • Partager sur Facebook
          • Partager sur Twitter
            4 novembre 2010 à 10:31:33

            Beh sachant que mon niveau est non mesurable en JS puisque je n'y connais rien (ou presque), non ca ne l'est pas ^^
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              4 novembre 2010 à 10:36:22

              je pense que tu veut que lorsque l'on clique sur un lien la fondu s'applique a la page qui se 'quitte' et à la page sur laquelle le lien te fait arriver? c'est ça?
              si c'est ça je disais en fait d'applqiuer le code que toi tu as poster dans la balise lien cette fois si avec l'attribut onClick="nomdelafonction()" et en supprimant dans ton scripte le
              window.onload ..... cela devrai éxécuter la fondu lors du clique du lien en plus d'envoyer la page suivante.Je prévien que c'est une simple idée et que je n'ai pas tester.
              • Partager sur Facebook
              • Partager sur Twitter
                4 novembre 2010 à 10:40:12

                Tu peux me l'écrire? J'le teste derrière...

                Merci ^^
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  4 novembre 2010 à 10:45:21

                  Essai d'apprendre le JS c'est pas très long mais très utiles..
                  en plus je t'ai donnée tout ce dont tu avez besoin pour la faire c'est tout simple. une aide supplémentaire :
                  window.onload = function() {MakeFluffHappen()} // a la fin du chargement de la page execute la fonction
                      function MakeFluffHappen()  // ne fait que regrouper les 2 fonction suivante et leur donne en parametre 0
                     {
                      FluffyKittenMaker(0);
                      Conflaburator(0);
                      }
                      function FluffyKittenMaker(SomeNumberThing) 
                  {
                      document.body.style.opacity = SomeNumberThing/100; //cette ligne correspon a la propriete qui permet la fondu (qui s'applique ici sur le body)
                      }
                      function Conflaburator(SomeNumberThing) {
                      if (SomeNumberThing <= 100) {
                      FluffyKittenMaker(SomeNumberThing);
                      SomeNumberThing += 10; // incremente le parametre de 10 a chaque passage de la fonction
                      window.setTimeout("Conflaburator("+SomeNumberThing+")", 100); //toute les 100 ms la fonction s'execute jusqua ce que le parametre = 100
                      }
                      }
                  

                  Essaie de trouver c'est simple. ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 novembre 2010 à 10:51:13

                    Je vais, mais même si tu dis que c'est simple cela nécessite du temps...
                    Toi ca te parait simple de faire deux petites modification, mais si je te donne une phrase en Slovène en te demandant de changer le mot X par le Y (sans te donner leur traduction)... On va rire :D

                    .....
                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 novembre 2010 à 10:52:52

                      Pour la petite anecdote "Opacity" et une fonction CSS3, supporté par les navigateurs ressent, sauf par IE (toute versions).
                      De même il n'est pas fonctionnel dans firefox en dessous de 3.6 :) .

                      Donc il faudrait mettre en place une alternative, comme par exemple :
                      el = document.getElementById("objet").style;
                      s.opacity = s.MozOpacity = s.KhtmlOpacity = opacity;
                      s.filter = 'alpha(opacity=' + (100*opacity) + ')';
                      


                      Edit : "MozOpacity" c'est pour Firefox ancien, "khtml" je sais plus trop.
                      Et "filter" c'est le filtre alpha d'IE :) .
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        4 novembre 2010 à 10:55:48

                        :p oui mais si tu donne des codes tout fait a tout le monde sa leurs apprends rien .. en plus je t'ai dit quoi faire et je t'ai mis des commentaires pour que tu comprenne le sens des lignes...

                        merci lieo :) je ne savais pas je débute aussi ;)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 novembre 2010 à 10:58:49

                          Citation : lieo

                          Pour la petite anecdote "Opacity" et une fonction CSS3, supporté par les navigateurs ressent, sauf par IE (toute versions).
                          De même il n'est pas fonctionnel dans firefox en dessous de 3.6 :) .

                          Donc il faudrait mettre en place une alternative, comme par exemple :

                          el = document.getElementById("objet").style;
                          s.opacity = s.MozOpacity = s.KhtmlOpacity = opacity;
                          s.filter = 'alpha(opacity=' + (100*opacity) + ')';
                          


                          J'ai juste à le coller à la suite du code?

                          Citation : MaRSu91

                          :p oui mais si tu donne des code tout fait a tout le monde sa leur apprends rien .. en plus je t'ai dit quoi faire et je t'ai mis des commentaire pour que tu comprenne le sens des lignes...

                          merci lieo :) je ne savais pas je débute aussi ;)



                          Je suis entièrement d'accord, mais comme tu as pu le constaté j'ai tout de même essayé de trouver l'information par moi même avant de vous consulter... Crois moi j'aimerais pouvoir apprendre par moi même ce dont j'ai besoin mais là c'est pas possible... Savoir changer deux ligne ne me fera apprendre rien, puisque comme tu le sais, on commence a apprendre l'alphabet par la lettre A, et celle ci se positionne un peu plus loin...
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            4 novembre 2010 à 11:04:38


                            ce n'est pas ce que tu cherche mais une alternative au cas ou le navigateur ne supporte pas la fonction opacity qui est ressentent d'apres les dirent de lieo ;)

                            donc :


                            function FonduPage()  // ne fait que regrouper les 2 fonction suivante et leur donne en parametre 0
                               {
                                FluffyKittenMaker(100);
                                Conflaburator(100);
                                }
                                function FluffyKittenMaker(SomeNumberThing) 
                            {
                                document.body.style.opacity = SomeNumberThing/100; //cette ligne correspon a la propriete qui permet la fondu (qui s'applique ici sur le body)
                                }
                                function Conflaburator(SomeNumberThing) {
                                if (SomeNumberThing > 0) {
                                FluffyKittenMaker(SomeNumberThing);
                                SomeNumberThing -= 10; // décremente le parametre de 10 a chaque passage de la fonction
                                window.setTimeout("Conflaburator("+SomeNumberThing+")", 100); //toute les 100 ms la fonction s'execute jusqua ce que le parametre = 100
                                }
                                }
                            

                            et apres dans tes liens rajoute onClick="FonduPage()"
                            tu peut essayer je sais pas si sa marche .. parceque je suis en pleine formation je fais sa rapidement ;)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              4 novembre 2010 à 11:08:14

                              Citation

                              qui est ressentent d'apres les dirent de lieo

                              Juste que s'il test ton script sous Ie, et des vieux navigateurs il aura des mauvaises surprises :D .

                              Citation

                              Je suis entièrement d'accord, mais comme tu as pu le constaté j'ai tout de même essayé de trouver l'information par moi même avant de vous consulter... Crois moi j'aimerais pouvoir apprendre par moi même ce dont j'ai besoin mais là c'est pas possible... Savoir changer deux ligne ne me fera apprendre rien, puisque comme tu le sais, on commence a apprendre l'alphabet par la lettre A, et celle ci se positionne un peu plus loin...


                              Réponse de feignase qui cherche pas à apprendre :-° .
                              Et s'il t'avais rien donné t'aurait appris ? :D .

                              Ps: comme tu dis faut commencer par le début, donc autant apprendre soit même petit, et ensuite savoir faire soit même ce genre d'effet hé hé.
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                4 novembre 2010 à 11:11:26

                                Citation : lieo

                                Réponse de feignase qui cherche pas à apprendre :-° .
                                Et s'il t'avais rien donné t'aurait appris ? :D .


                                Cela me rassure je ne suis pas le seul à le penser :D
                                Le pire c'est que je débute en JS. En plus reprendre un script pomper sur internet en anglais avec des noms imbuvables c'est pas pratique.

                                Citation : lieo

                                Juste que s'il test ton script sous Ie, et des vieux navigateurs il aura des mauvaises surprises


                                c'est ce que je voulais dire :)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  4 novembre 2010 à 11:20:29

                                  Cela ne fonctionne pas, ou alors je fais pas ca bien...
                                  J'ai echangé ce code contre l'ancien et ajouté la fonction dans le lien de la maniere suivante :
                                  <li><a href="index.html" title="Osmose" onClick="FonduPage()">osmose</a></li>
                                  


                                  Écoutez on va pas débattre sur le sujet, mais on apprend pas un langage informatique en 30mn... J'vais pas vous exposer ma vie ca en deviendrait ridicule et hors de propos... Quand j'aurais le temps je m'y attellerai mais en attendant je cherche des gens qui veulent bien m'aider... En me donnant la solution.

                                  Parce que si je pousse votre raisonnement ce forum n'a plus aucune raison d'être... Tout le monde peut corriger ses propres erreur et répondre à ses propres questions en apprenant plus... Mieux?...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    4 novembre 2010 à 11:25:29

                                    Citation : Nougatine

                                    Parce que si je pousse votre raisonnement ce forum n'a plus aucune raison d'être... Tout le monde peut corriger ses propres erreur et répondre à ses propres questions en apprenant plus... Mieux?...



                                    Pas du tout... tu peut aider les gens qui apprennent en leurs donnant des pistes où chercher ou aussi des petits bout de codes..
                                    Là tu nous prends un peu pour des 'vaches à codes'..

                                    j'ai du faire une erreur dans le code... j'ai trouver, c'est la ligne
                                    document.body.style.opacity = SomeNumberThing/100;
                                    
                                    faut changer sa. et aussi peut être le
                                    if .. désolé j'ai pas eu le temps de me pencher là dessus.
                                    Essai d'enlever le /100 déjà sa aura plus de chance de marcher
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Effet de fondu entre deux pages

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown