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

jQuery Discussion :

Recupérer les dimensions


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de elfamine
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 113
    Par défaut Recupérer les dimensions
    Bonjour,

    J'essaye d’écrire une fonction qui me permet de récupérer les dimensions d'une balise object (comme dans l'exemple plus bas) et de les attribuer à sa balise parent div

    supposant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div class="container">
    <object  width="x" height="y"></object>
    </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function SetDim(theContainer){
    	var objWidth=$(theContainer).children().width();
    	var objHeight=$(theContainer).children().height();
    	$(theContainer).css( 'width',objWidth ); 
    	$(theContainer).css( 'height',objHeight );
    	}
     
    ...SetDim(".container");
    ca fonctionne sauf que quand j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div class="container">
    <object  width="x1" height="y1"></object>
    </div>
    <div class="container">
    <object  width="x2" height="y2"></object>
    </div>
    le 1er div prend x1 et y1 comme dimension
    le 2eme div prend aussi x1 et y1 au lieu de x2 y2


    J’espère avoir bien expliqué mon problème et que vous avez une solution ou une approche à me proposer

    edit : ca ne change absolument rien au problème object ou objet

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function SetDim(theContainer){
    	var objWidth=$(theContainer).find('object:eq(0)').width();
    	var objHeight=$(theContainer).find('object:eq(0)').height();
    	$(theContainer).css( {'width':objWidth, 'height':objHeight} );
    	}
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre expérimenté Avatar de elfamine
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 113
    Par défaut
    Merci d'avoir pris le temps de répondre mais malheureusement ca ne règle toujours pas le problème (oui meme apres avoir vidé le cach :B)

    Peut etre que le problème vient du SetDim(".container"); je l'ai mis dans un $(document).ready(function() {});

    J'ai l'impression que le SetDim ne s’exécute que pour le 1er div et s'applique sur les suivants de la meme facon...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $(function(){
     
    	$('.container').each( function(){
    			var objHeight=$(this).find('object:eq(0)').attr('height');
    			var objWidth=$('.container').find('object:eq(0)').attr('width');
    			$(this).css({'height':objHeight+'px','width':objWidth+'px', 'border': 'solid 2px red'})
    			})
    })
    A noter que c'est object et non objet ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre expérimenté Avatar de elfamine
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 113
    Par défaut
    Je pense qu'avec un exemple ca va etre plus clair (voir pièce jointe)

    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
    <div class="mainframe">
    	<div id="frame1">
    		<div class="container">
    			<p class="obj">200x200</p>
    		</div>
    	</div>
    </div>
    	<br>
    <div class="mainframe">
     
    	<div id="frame2">
    		<div class="container">
    			<p class="obj">100x100</p>
    		</div>
    	</div>
    </div>
    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
    function SetDim(theContainer){
    	var objWidth=$(theContainer).children().width();
    	var objHeight=$(theContainer).children().height();
    	$(theContainer).css( 'width',objWidth ); 
    	$(theContainer).css( 'height',objHeight );
    	}
    function CenterItem(theItem){
        var winWidth=$('.mainframe').width();
        var winHeight=$('.mainframe').height();
        var windowCenter=winWidth/2;
        var itemCenter=$(theItem).width()/2;
        var theCenter=windowCenter-itemCenter;
        var windowMiddle=winHeight/2;
        var itemMiddle=$(theItem).height()/2;
        var theMiddle=windowMiddle-itemMiddle;
        if(winWidth>$(theItem).width()){ //horizontal
            $(theItem).css('left',theCenter);
        } else {
            $(theItem).css('left','0');
        }
        if(winHeight>$(theItem).height()){ //vertical
            $(theItem).css('top',theMiddle);
        } else {
            $(theItem).css('top','0');
        }
    }
    $(document).ready(function() {
    	SetDim('.container');
        CenterItem('.container');
    });
    $(window).resize(function() {
    	SetDim('.container');
        CenterItem('.container');
    });


    Ca bloque au niveau du 2eme élément celui en 100x100 son div prend toujours les dimension 200x200
    Fichiers attachés Fichiers attachés

  6. #6
    Membre expérimenté Avatar de elfamine
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2011
    Messages : 113
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function() {
    	SetDim('#frame1 .container');
    	SetDim('#frame2 .container');
        CenterItem('#frame1 .container');
        CenterItem('#frame2 .container');
    });
    par contre ceci semble résoudre le problème...mais bon je me demande s'il y a pas de solution plus clean...

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

Discussions similaires

  1. Recupérer les dimensions de la fenêtre du navigateur
    Par Mageni dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 09/01/2014, 17h53
  2. Recupérer les dimensions d'un Jpeg
    Par Gruik dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 25/10/2005, 16h26
  3. Récupérer les dimensions de mon image.
    Par Trilby dans le forum ASP
    Réponses: 3
    Dernier message: 10/02/2005, 09h52

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