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 :

Largeurs de pages et images fixes


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de lelapinou
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2003
    Messages : 96
    Par défaut Largeurs de pages et images fixes
    Salut à tous.
    Je repost un message car je n'ai pas eu de réponse (réglant mon soucis) à mon précédent. Je sais, c'est pas du spam de forum, mais j'ai absolument besoin de quelques lumières.

    en quelques mots, mon soucis est (sont) le(s) suivant(s) :

    la structure principal du site est celle ci :
    <DIV id="left"></div>
    <DIV id="centre"></div>
    <DIV id="right"></div>

    mon CENTRE a une taille fixe de width=650px
    mes bandes LEFT et RIGHT doivent être variables, le seul inconvénient est qu'elles contiennent un fichier flash de width=150px qui doit disparaitre si le width de LEFT ou RIGHT est plus petit que leur largeur initiale.
    je suis parvenu à le faire sous IE, grace à une 'bidouille' php que voici :
    page index.php :

    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
     
    if (empty($res))
    {
    	echo '
    	<script type="text/javascript">
    		wBase = 650;
    		var wG;
    		var wD;
     
    		var oX = document.getElementById("content");					
    		var W = oX.clip ? oX.clip.width : oX.offsetWidth;
    		wG = (W-wBase)/2;
    		wD = ((W-wBase)-wG)-2;
    		document.location = "index.php?res=1&w_W="+W+"&w_gauche="+wG+"&w_droite="+wD;
    	</script>';
    }
    else
    {
    	$_SESSION['Gauche'] = $_GET['w_gauche'];
    	$_SESSION['Droite'] = $_GET['w_droite'];
    	$_SESSION['LargeurTotale'] = $_GET['w_W'];
    	if ($_SESSION['LargeurTotale'] <= 1024)
    	{
    		$_SESSION['display'] = 'none';
    	}
    	else
    	{
    		$_SESSION['display'] = 'block';
    	}
     
    	if($_SESSION['page'] == '')
    	{
    		$_SESSION['page'] = 'home.php';
    	}
     
    	echo '<script>document.location = "'.$_SESSION['page'].'";</script>';
    }
    Ce code me permet au lancement du site de détecter la largeur de mon DIV CONTENT (qui est width=100%) et donc de calculer la largeur de LEFT et RIGHT en soustrayant CENTER à cette largeur. Et je mémorise ces résultats sur des variables globales. Ce qui me permet par la même de tester au départ de chaque nouvelle page, si une des variables et vide, je relance index.php et reviens sur la page en question avec les bons paramétres. (je sais ça peut paraître un peut fouilli, mais pour le moment ça marche)

    Là où le bas blesse, et que ça ne fonctionne pas sous FireFox, et cela ne fonctionne pas non plus si l'on re-dimentionne la page.

    Attention, ne vous arrêtez pas au code php. Si je post ici, c'est que c'est la partie javascript qui m'intéresse.
    Je suis tout à l'écoute, si besoin de plus d'infos n'hésitez pas, mais j'ai vraiment besoin d'un coup de pouce.
    Merci

  2. #2
    Membre très actif Avatar de Sacha999
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Par défaut
    tu peux connaitre la largeur d'un element avec "offsetWidth"
    Donc en javascript tu récupere la largeur de "center" avec , et tu devine la largeur de "left" et "right" et si c'est plus petit que 150 px, tu te sers de la propriété style "display=none" pour cacher la balise contenant le flash

  3. #3
    Membre confirmé Avatar de lelapinou
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2003
    Messages : 96
    Par défaut
    Citation Envoyé par Sacha999 Voir le message
    tu peux connaitre la largeur d'un element avec "offsetWidth"
    Donc en javascript tu récupere la largeur de "center" avec , et tu devine la largeur de "left" et "right" et si c'est plus petit que 150 px, tu te sers de la propriété style "display=none" pour cacher la balise contenant le flash
    ça c'est déjà ce que je fais, mais merci de t'être arrêté ici.

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

Discussions similaires

  1. une Image fixe en bas a gauche de ma page?
    Par shantee dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 01/10/2007, 15h09
  2. RxGif - Image fixe
    Par xenos dans le forum Composants VCL
    Réponses: 4
    Dernier message: 03/01/2006, 22h26
  3. Créer une page par image ?
    Par Eliness dans le forum Langage
    Réponses: 10
    Dernier message: 01/01/2006, 17h34
  4. taille page = taille image
    Par sohnic dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 25/12/2005, 13h47
  5. Réponses: 3
    Dernier message: 31/10/2005, 16h47

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