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 :

Diff�rence de innerWidth /innerHeigth IE/firefox


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Expert confirm�
    Avatar de le_chomeur
    Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2006
    Messages
    3 653
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 3 653
    Par d�faut Diff�rence de innerWidth /innerHeigth IE/firefox
    salut a tous , la je s�che ...
    je cr�er une div via un premier bouton qui s'occupe de la cr�ation et de la position premier probl�me la div n'est pas centr�e sous IE7

    Ensuite lors du d�placement , probl�me �galement ...

    Voici le code ce sera plus simple :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <style type="text/css">
    	body,html{
    		width:100%;
    		margin:0;
    		padding:0;
    	}
    	.divContenu{
    		width:400px;
    		height:300px;
    		border:1px solid #666;
    		position:absolute;
    		overflow:hidden;
    	}
    </style>
     
    <script type="text/javascript">
     
    	var compteur = null;
    	var d = null ;
    	var hauteurCalcule = null;
    	var largeur = null;
    	var position = null;
    	var positionRight = null;
    	var hauteurContenu  = null;
    	var largeurContenu = null;
     
    	function moins(){
    		//création de la popup
    		createPopup();
    		//Positionnement au centre
    		positionCenter();
    	}
     
     
    	function createPopup(){
    		//création de la div qui contiendra la page appelante
    		var divContenu = document.createElement('div');
    		divContenu.setAttribute("class","divContenu");
    		divContenu.setAttribute("className","divContenu"); //Compatibilité IE
    		divContenu.id =  "titi";
    		//Création du fond
    		document.body.appendChild(divContenu);
    	}
     
    	function positionCenter(){
    		try{
    		//récupération de la largeur disponible
    		//selon ie ou firefox
    		hauteurContenu =document.documentElement.clientHeight ;
    		largeurContenu = document.documentElement.clientWidth ;
    		largeurPopup =  ($('titi').currentStyle) ? parseInt($('titi').currentStyle.width) : parseInt(window.getComputedStyle($('titi'),null).getPropertyValue('width'));
    		hauteurPopup = ($('titi').currentStyle) ? parseInt($('titi').currentStyle.height) : parseInt(window.getComputedStyle($('titi'),null).getPropertyValue('height'));
     
    		//Calcul pour positionner au centre : (largeur contenu / 2) - (largeur popup /2)
    		positionLeft = parseInt(( largeurContenu / 2 )) - (largeurPopup / 2);
    		positionTop = parseInt(( hauteurContenu / 2 )) - (hauteurPopup / 2);
    		//on positionne à gauche
    		$('titi').style.marginLeft = positionLeft + "px";
    		//on positionne par rapport au top
    		$('titi').style.marginTop = positionTop + "px";
    		}
    		catch(ErrorE){
    			alert(ErrorE.message);
    		}		
    	}
     
    	function $(idElement){
    		return document.getElementById(idElement);
    	}
     
    	function retrecir(){
    	var testtt = false ;
     
    		if((positionLeft + largeurPopup) < (largeurContenu - 30)){
    			positionLeft += 15 ;
    			$('titi').style.marginLeft = positionLeft + "px";
    		}
     
    		if( positionTop >= 0 ){
    			positionTop -= 15 ;
    			$('titi').style.marginTop = positionTop + "px";
    		}
     
    		if(( (positionLeft + largeurPopup) <= largeurContenu) || ( positionTop >= 0 )){
    			testtt = true;
    		}
     
    		if(testtt){
    			compteur = setTimeout('retrecir()',1);
    		}
    		else{
    			clearTimeout(compteur);
    			alert("stop");
    		}
    	}
     
    </script>
    </head>
     
    <body>
    <div id="debug">
    </div>
     
    <input type="button" value="La replacer" onclick="retrecir()" />
    <input type="button" value="Créer la div" onclick="moins()" />
     
    </body>
    </html>
    merci ^^

  2. #2
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    bonjour,

    si tu utilisais les pourcentages plut�t que les pixels pour positionner ton div ?

    clientHeight et clientWidth ne correspondent pas aux dimensions de la page (qui est visuellement celle de ton �cran) mais � la hauteur du document.

  3. #3
    Expert confirm�
    Avatar de le_chomeur
    Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2006
    Messages
    3 653
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 3 653
    Par d�faut
    Le probl�me c'est que pour repositionner ma div en haut � droite par exemple , je ne pourrais pas calculer les % avec la largeur de la div en px
    Mais j'ai peut-�tre trouv� une solution en positionnant la div en javascript a sa cr�ation ... je finis et je posterais mais si quelqu'un a une solution ...

    Merci ^^

Discussions similaires

  1. Diff�rence affichage entre IE et Firefox
    Par pasc06 dans le forum Mise en page CSS
    R�ponses: 2
    Dernier message: 29/03/2010, 13h29
  2. Diff�rences affichage Internet Explorer et Firefox
    Par afroweb dans le forum Mise en page CSS
    R�ponses: 7
    Dernier message: 11/09/2009, 22h40
  3. Diff�rence IE/Firefox : Retour Chariot "\n" et Tab
    Par Nardanaito dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 5
    Dernier message: 24/11/2008, 23h12
  4. R�ponses: 2
    Dernier message: 17/06/2006, 20h05
  5. Diff�rence IE et Firefox
    Par Jibees dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 07/04/2006, 10h57

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