Partage
  • Partager sur Facebook
  • Partager sur Twitter

Détecter le redimensionnement d'une fenêtre

    3 janvier 2009 à 21:05:57

    Bonjour à tous,

    J'ai vu sur le web qu'il était possible de détecter le redimensionnement d'une fenêtre grâce à l'évènement onresize mais j'aimerais savoir une chose :

    Actuellement, si j'essaye un redimensionnement, l'évènement se déclenche une fois que le redimensionnement est effectué. Mais est-ce qu'il est possible de détecter lorsque le redimensionnement commence (à partir du premier déplacement donc) et non pas seulement lorsqu'il fini ?

    Bien que j'ai cherché je n'ai pas trouvé de réponse, je suppose donc que c'est impossible mais je préfère quand même demander :) .

    Merci,
    Nes'
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      3 janvier 2009 à 21:42:25

      Pas que je sache. IE déclanche l'évènement au début et à la fin, FF lui c'est tout le temps pendant que la taille change ce qui n'est pas forcément mieux.

      Pas de solution miracle ;)

      ( edit ) c'est pour quoi faire?
      • Partager sur Facebook
      • Partager sur Twitter
        3 janvier 2009 à 21:55:05

        Je suis actuellement en train de développer un script réalisant la même fonction qu'une LightBox mais avec quelques petits trucs en plus qui peuvent être pratiques, j'ai mis un exemple en ligne pour montrer à quelques personnes : http://plune.fr/speedbox/ (le code est très mal organisé/optimisé/écrit pour le moment, j'arrangerai ça par la suite, là c'est plus un prototype qu'autre chose ^^ ).

        Parmi ces "petits trucs en plus", il y a un système de redimensionnement de l'image par le biais des attributs width et height de la balise IMG, ceci afin d'éviter que l'image ne déborde en dehors de l'espace disponible et ne bousille la mise en page (comme c'est le cas avec LightBox). Seulement ce redimensionnement n'est actif que lorsqu'on affiche l'image, une fois affichée, on peut redimensionner et bousiller la mise en page à souhait.

        Histoire de faire quelque chose de "propre" j'aimerais donc faire un redimensionnement "en direct". Que le redimensionnement de mes blocks ne s'effectue qu'à la fin du redimensionnement de la fenêtre ça ne m'embête pas, mais le problème c'est l'image elle-même. Une image redimensionnée en HTML ça bouffe pas mal en consommation, j'aimerais donc pouvoir la cacher pendant la durée du redimensionnement et l'afficher de nouveau à la fin.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          3 janvier 2009 à 22:14:45

          je pense que le css est ton ami sur ce coup là.

          essaie avec un max-width ou autre

          Je dois avouer que j'ai pas trop pigé le problème mais bon. on va dire que c'était ça.
          • Partager sur Facebook
          • Partager sur Twitter
            3 janvier 2009 à 22:17:21

            Je ne pense pas qu'on se soit compris.

            Pour faire simple, je veux cacher une image pendant la phase de redimensionnement ;) .
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              3 janvier 2009 à 22:24:07

              ha, faut excuser, j'ai le cerveau éclaté en ce moment.

              une solution c'est de faire "tant que ça bouge, c'est caché" et ensuite prendre l'approche "bon là ça fait quelques secondes que ça bouge plus ça devrait être bon".

              var laCLEF = null;
              window.onresize = function (e) {
                 if (laCLEF) {
                      clearTimeout(laCLEF);
                 }
                 image.style.display = "none";
                 laCLEF = setTimeout(prendre,300);
              }
              function prendre () {
                  image.style.display = "block";
              }
              



              C'est du code 100% non testé.
              • Partager sur Facebook
              • Partager sur Twitter
                3 janvier 2009 à 22:39:49

                Ouais enfin le problème c'est que l'évènement onresize n'est déclenché qu'à la fin du redimensionnement (sous FF en tout cas) donc ça va pas aller =/

                Enfin c'est pas grave, je vais faire sans ;) .
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  3 janvier 2009 à 22:53:55

                  ou quand tu affiche le truc tu balance un setInterval qui te regarde la taille du <div> global sous l'image pour des changement de taille.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 janvier 2009 à 22:56:36

                    Éventuellement, c'est pas bête ! J'essaierai ça quand j'aurai rectifié quelques problèmes :) .
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Détecter le redimensionnement d'une fenêtre

                    × 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