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

IGN API Géoportail Discussion :

viewer toujours en 16/9 : comment faire ?


Sujet :

IGN API Géoportail

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 868
    Points : 371
    Points
    371
    Par défaut viewer toujours en 16/9 : comment faire ?
    Salut à tous
    Connaissez-vous une astuce afin que le viewer se redimensionne automatiquement en respectant un ratio de 16/9 fonction de la taille de "l'espace" qui lui est dévolu ou au redimensionnement de la fenêtre du navigateur ?
    Pascal

  2. #2
    Membre éclairé Avatar de jrenard
    Homme Profil pro
    Webdesigner / développeur front-end
    Inscrit en
    Septembre 2013
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Webdesigner / développeur front-end
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 456
    Points : 894
    Points
    894
    Par défaut
    Bonjour,

    Il va d'abord falloir créer une fonction qui adapte automatiquement les dimensions du viewerDiv en fonction des dimensions de la fenêtre et de sa résolution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function updateViewerDimensions() {
        var viewerStyle = document.getElementById('viewerDiv').style;
        // Dimensions de la fenêtre
        var windowWidth = window.innerWidth;
        var windowHeight = window.innerHeight;
        // Test de résolution
        if (windowWidth/windowHeight<16/9) {
            viewerStyle.width = windowWidth.toString()+'px';
            viewerStyle.height = (Math.floor(windowWidth*9/16)).toString()+'px';   
        } else {
            viewerStyle.height = windowHeight.toString()+'px';
            viewerStyle.width = (Math.floor(windowHeight*16/9)).toString()+'px';   
        }
    }
    Cette fonction devra d'une part être appelée dès l'ouverture de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    window.onload = function() {
        updateViewerDimensions();
        ...
    }
    Et elle devra d'autre part être appelée à chaque redimensionnement de la fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (window.addEventListener) {
        // Evènement générique
        window.addEventListener('resize', updateViewerDimensions);
    } else if (window.attachEvent) {
        // Pour anciennes versions d'IE
        document.body.onresize = updateViewerDimensions;
    }
    Et pour un effet encore meilleur, ne pas oublier de désactiver les marges du body dans le CSS :

    Ca, c'est dans le cas où le viewer occupe toute la place dans la fenêtre. S'il est enfermé dans un espace particulier, il suffit de remplacer window.innerWidth et window.innerHeight par les dimensions de l'espace en question.
    Développeur Web - Agglo La Rochelle
    Anciennement pôle technique Géoportail - IGN
    Twitter : @dje_renard

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 868
    Points : 371
    Points
    371
    Par défaut
    Nickel
    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2011, 16h38
  2. Comment faire pour qu'une vue renvoie toujours une ligne
    Par jfouche dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2009, 10h01
  3. Comment faire pourqu'un div soit toujours en bas de ma page
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/01/2008, 15h46
  4. comment faire pour qu'une application soit toujours visible ?
    Par goldbar dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/03/2004, 14h35
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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