Redimensionnement d'un élément
page 1 page 2
Bonjour,
Je cherche depuis un petit moment comment redimensionner la largeur d'une div pour qu'elle s'aligne sur la largeur d'un autre div, qui est au-dessus d'elle à l'affichage.
L'affichage suivant :
doit devenir cela :
Le code javascript est :
J'ai déjà essayé d'assigner la valeur de l'offset à l'autre offset (mais la propriété est en lecture seule), et j'ai essayé d'affecter la valeur à l'attribut width de l'élément.
Merci !
Je cherche depuis un petit moment comment redimensionner la largeur d'une div pour qu'elle s'aligne sur la largeur d'un autre div, qui est au-dessus d'elle à l'affichage.
L'affichage suivant :
- +----+-----------------+
- +logo+ +
- +----+-----------------+
- + nav + +
- +------+---------------+
doit devenir cela :
- +------+---------------+
- + logo + +
- +------+---------------+
- + nav + +
- +------+---------------+
Le code javascript est :
- var postformatting = function()
- {
- var logo = document.getElementById('logo') ;
- var nav = document.getElementById('nav') ;
- if(nav.offsetWidth > logo.offsetWidth)
- logo.style.width = nav.offsetWidth ;
- else if(nav.offsetWidth < logo.offsetWidth)
- nav.style.width = logo.offsetWidth ;
- }
J'ai déjà essayé d'assigner la valeur de l'offset à l'autre offset (mais la propriété est en lecture seule), et j'ai essayé d'affecter la valeur à l'attribut width de l'élément.
Merci !
Au fait, j'ai aussi essayé d'appliquer la méthode reSize sur l'élément, mais ce n'y est pas applicable.
Le précédent code fonctionnait sur Opera. Après quelques recherches, je me suis apperçu qu'il faut indiquer l'unité :
- var postformatting = function()
- {
- var logo = document.getElementById('logo') ;
- var nav = document.getElementById('nav') ;
- if(nav.offsetWidth > logo.offsetWidth)
- logo.style.width = nav.offsetWidth + 'px' ;
- else if(nav.offsetWidth < logo.offsetWidth)
- nav.style.width = logo.offsetWidth + 'px' ;
- }
Chapeau :)
Je n'aurais jamais trouvé.
Je n'aurais jamais trouvé.
Ça marche aussi avec les autres unités (ça devient puissant en utilisant les %).
Bref, voici mon sauveur.
Je ne sais pas où il a pêché ça, mais je l'en remercie grandement.
Bref, voici mon sauveur.
Je ne sais pas où il a pêché ça, mais je l'en remercie grandement.
Hello !
ça a l'air très intéressant mais impossible pour moi de le faire fonctionner !!
LupusMic > t'aurais pas un bout de code avec un div pour voir ce que donnent ses fonctions JavaScript pliz ?
@+...
ça a l'air très intéressant mais impossible pour moi de le faire fonctionner !!
LupusMic > t'aurais pas un bout de code avec un div pour voir ce que donnent ses fonctions JavaScript pliz ?
@+...
Suffit de demander :
Et la CSS :
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml"
- lang="fr">
- <head>
- <title>Projet secret : test</title>
- <link rel="stylesheet" type="text/css" href="style.css"></link>
- <script src="postformat.js" type="text/javascript"></script>
- </head>
- <body onload="postformatting()">
- <div id="head">
- <div id="logo">
- <img src="/logo.jpg" alt="Logo - "></img>
- </div>
- <div id="banner">
- <img src="/banner.jpg.php" alt="Bannière publicitaire"></img>
- </div>
- </div>
- <div id="boxes">
- <div id="nav">
- <div id="main">Boîte principal.</div>
- <div id="sub">Boîte subsidiaire</div>
- </div>
- <div id="content">Contenu </div>
- </div>
- </body>
- </html>
Et la CSS :
- div
- {
- background: #455059 ;
- border: solid white 1px ;
- margin: 2px ;
- }
- #head
- {
- width: 100% ;
- }
- #boxes
- {
- min-height: 250px ;
- width: 100% ;
- right: 102px ;
- }
- #nav
- {
- float: left ;
- min-width: 102px ;
- height: 100% ;
- min-height: 250px ;
- right: 150px ;
- }
- #logo
- {
- float: left ;
- height: 102px ;
- min-width: 102px ;
- }
- #banner
- {
- height: 102px ;
- right: 150px ;
- }
- #content
- {
- min-height: 250px ;
- }
- {
- position: absolute ;
- right: 50px ;
- top: 102px ;
- }
- #foot
- {
- font-size: 0.7em ;
- text-align: center ;
- width: 100% ;
- }
Hello !
Je parlais des fonctions JavaScript du gars :
Quelqu'un sait comment on s'en sert?
@+...
Je parlais des fonctions JavaScript du gars :
- function getElt (eltID) {
- if (document.layers) return document.layers[eltID+'C'].document.layers[eltID];
- if (document.getElementById) return document.getElementById(eltID);
- if (document.all) return document.all[eltID];
- if (document[eltID+'C']) return document[eltID+'C'].document[eltID];
- alert('Rien ne marche avec ce navigateur');
- return false;
- }
- function hideElt (eltID) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.display = 'none';
- }
- function showElt (eltID,disp) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.display = disp;
- }
- function isHide (eltID) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- return myelt.display == 'none' ? true : false;
- }
- function switchElt (eltID,disp) {
- if (isHide(eltID)) showElt(eltID,disp);
- else hideElt(eltID);
- }
- function mvElt (eltID,mvX,mvY) {
- var myelt = getElt (eltID), noPx = document.childNodes ? 'px' : 0;
- if (myelt.style) myelt = myelt.style;
- myelt.left = mvX + noPx; myelt.top = mvY + noPx;
- }
- function chgZIndex (eltID,indx) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.zIndex = indx;
- }
- function resizeElt(eltID,newWidth,newHeight) {
- var myelt = getElt(eltID), noPx = document.childNodes ? 'px' : 0;
- if (myelt.style) myelt = myelt.style;
- if (myelt.resizeTo) myelt.resizeTo(newWidth,newHeight);
- myelt.width = newWidth + noPx; myelt.pixelWidth = newWidth;
- myelt.height = newHeight + noPx; myelt.pixelHeight = newHeight;
- }
Quelqu'un sait comment on s'en sert?
@+...
Heu ! Là, je ne trouve pas ça très raisonnable d'utiliser autant de Javascript !!!
En quoi, autant de javascript, peut il apporter quelque chose en plus au site ???
Enfin, je suppose que cela dépend de l'avis de chacun...
En quoi, autant de javascript, peut il apporter quelque chose en plus au site ???
Enfin, je suppose que cela dépend de l'avis de chacun...
Cosmétique ? :) Si tu as d'autres solutions en CSS, je suis preneur. Je n'utilise le javascript que pour les aspect cosmétiques et l'ergonomie avancée.
Je dis juste ça comme cela ! Cela dépend de l'avi de chacun ! Mais je pense tout de même qu'il est préférable de faire en sorte qu'un visiteur refusant le javascript doit pouvoir naviguer sans aucun souci sur le site. Le js n'est là que pour le confort !
Par exemple, la vérification de formulaire ne se fait pas coté client mais coté serveur ! Vérifier les formulaires en javascript n'est pas terrible.
Et pourtant, on voit cela de plus en plus. Le fameu => formulaire.submit() ! Je trouve ça honteu !!! Le visiteur refusant le javascript ne peut même pas valider le formulaire !!!!
Ah! J'ai passé mon cou de gueulle ! Sa va mieu tout d'un cou !!!
Bonne année à tout le monde !!!!
Par exemple, la vérification de formulaire ne se fait pas coté client mais coté serveur ! Vérifier les formulaires en javascript n'est pas terrible.
Et pourtant, on voit cela de plus en plus. Le fameu => formulaire.submit() ! Je trouve ça honteu !!! Le visiteur refusant le javascript ne peut même pas valider le formulaire !!!!
Ah! J'ai passé mon cou de gueulle ! Sa va mieu tout d'un cou !!!
Bonne année à tout le monde !!!!
Mais on est entièrement d'accord. Tu remarqueras que le javascript que je proposais ne fait qu'améliorer la mise en page.
Jamais un javascript ne sera contraignant.
D'ailleurs, comme tu peux le voir dans mon petit doc sur les regex, j'ai fais en sorte que l'exemple de validation de courriel se fasse quoiqu'il arrive du côté serveur. Mais du côté client, on peut améliorer l'ergonomie en rajoutant quelque javascript. Ça ne mange pas de pain.
Jamais un javascript ne sera contraignant.
D'ailleurs, comme tu peux le voir dans mon petit doc sur les regex, j'ai fais en sorte que l'exemple de validation de courriel se fasse quoiqu'il arrive du côté serveur. Mais du côté client, on peut améliorer l'ergonomie en rajoutant quelque javascript. Ça ne mange pas de pain.
Heu !!! 
Je ne disais pas ça pour toi... Désolé...
Je ne disais pas ça pour toi... Désolé...
Hello !
Bon c'est p'tet passé inaperçu alors je répète :
Quelqu'un sait comment on s'en sert?
@+...
Bon c'est p'tet passé inaperçu alors je répète :
- function getElt (eltID) {
- if (document.layers) return document.layers[eltID+'C'].document.layers[eltID];
- if (document.getElementById) return document.getElementById(eltID);
- if (document.all) return document.all[eltID];
- if (document[eltID+'C']) return document[eltID+'C'].document[eltID];
- alert('Rien ne marche avec ce navigateur');
- return false;
- }
- function hideElt (eltID) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.display = 'none';
- }
- function showElt (eltID,disp) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.display = disp;
- }
- function isHide (eltID) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- return myelt.display == 'none' ? true : false;
- }
- function switchElt (eltID,disp) {
- if (isHide(eltID)) showElt(eltID,disp);
- else hideElt(eltID);
- }
- function mvElt (eltID,mvX,mvY) {
- var myelt = getElt (eltID), noPx = document.childNodes ? 'px' : 0;
- if (myelt.style) myelt = myelt.style;
- myelt.left = mvX + noPx; myelt.top = mvY + noPx;
- }
- function chgZIndex (eltID,indx) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.zIndex = indx;
- }
- function resizeElt(eltID,newWidth,newHeight) {
- var myelt = getElt(eltID), noPx = document.childNodes ? 'px' : 0;
- if (myelt.style) myelt = myelt.style;
- if (myelt.resizeTo) myelt.resizeTo(newWidth,newHeight);
- myelt.width = newWidth + noPx; myelt.pixelWidth = newWidth;
- myelt.height = newHeight + noPx; myelt.pixelHeight = newHeight;
- }
Quelqu'un sait comment on s'en sert?
@+...
Et bien, c'est pas bien compliqué !!!
Cette fonction retourne l'object direct de la balise souhaité à partir de son nom (name)
Cette fonction permet de cacher une balise grace à un parametre => le nom de la balise. Elle fait appel à la première fonction pour récupérer l'object de la balise.
Idem mais pour faire apparaitre la balise:
Permet de tester si la balise est caché ou non. Elle utilise comme paramètre toujours le nom de la balise (name="le_nom") et fait appel aussi à la toute première fonction afin de récupérer l'object.
Cette fonction réuni les trois dernières. A chaque appel, elle affiche ou bien cache à tour de role le div. Elle fait donc appel à toute les autres fonctions et ne demande qu'un seul paramètre le même (name).
Cette fonction déplace le div. Elle à besoin de trois parametres: le "name" de la balise, et les coordonnées sur X et Y !!! Elle fait appel tjrs à la toute première fonction afin de de récupérer l'object du div
Cette fonction change le z-index du div. Deux paramètres le nom et l'entier pour la profondeur.Elle fait appel à la toute première fonction.
Et cette dernière fonction redimentionne le div. Donc trois paramètres:
->Le "name" du div
->La nouvelle largeur
->La nouvelle hauteur
Ses fonctions sont très pratique et très bien faites.
Sont script est basé sur une fonction importante qui est la première. Elle permet, en fonction du navigateur, de recupérer l'object de la balise.
C'est propre. Je l'ai pas essayé mais ça à l'air vraiment bien.
Bye...
Cette fonction retourne l'object direct de la balise souhaité à partir de son nom (name)
- function getElt (eltID) {
- if (document.layers) return document.layers[eltID+'C'].document.layers[eltID];
- if (document.getElementById) return document.getElementById(eltID);
- if (document.all) return document.all[eltID];
- if (document[eltID+'C']) return document[eltID+'C'].document[eltID];
- alert('Rien ne marche avec ce navigateur');
- return false;
- }
Cette fonction permet de cacher une balise grace à un parametre => le nom de la balise. Elle fait appel à la première fonction pour récupérer l'object de la balise.
- function hideElt (eltID) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.display = 'none';
- }
Idem mais pour faire apparaitre la balise:
- function showElt (eltID,disp) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.display = disp;
- }
Permet de tester si la balise est caché ou non. Elle utilise comme paramètre toujours le nom de la balise (name="le_nom") et fait appel aussi à la toute première fonction afin de récupérer l'object.
- function isHide (eltID) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- return myelt.display == 'none' ? true : false;
- }
Cette fonction réuni les trois dernières. A chaque appel, elle affiche ou bien cache à tour de role le div. Elle fait donc appel à toute les autres fonctions et ne demande qu'un seul paramètre le même (name).
- function switchElt (eltID,disp) {
- if (isHide(eltID)) showElt(eltID,disp);
- else hideElt(eltID);
- }
Cette fonction déplace le div. Elle à besoin de trois parametres: le "name" de la balise, et les coordonnées sur X et Y !!! Elle fait appel tjrs à la toute première fonction afin de de récupérer l'object du div
- function mvElt (eltID,mvX,mvY) {
- var myelt = getElt (eltID), noPx = document.childNodes ? 'px' : 0;
- if (myelt.style) myelt = myelt.style;
- myelt.left = mvX + noPx; myelt.top = mvY + noPx;
- }
Cette fonction change le z-index du div. Deux paramètres le nom et l'entier pour la profondeur.Elle fait appel à la toute première fonction.
- function chgZIndex (eltID,indx) {
- var myelt = getElt(eltID);
- if (myelt.style) myelt = myelt.style;
- myelt.zIndex = indx;
- }
Et cette dernière fonction redimentionne le div. Donc trois paramètres:
->Le "name" du div
->La nouvelle largeur
->La nouvelle hauteur
- function resizeElt(eltID,newWidth,newHeight) {
- var myelt = getElt(eltID), noPx = document.childNodes ? 'px' : 0;
- if (myelt.style) myelt = myelt.style;
- if (myelt.resizeTo) myelt.resizeTo(newWidth,newHeight);
- myelt.width = newWidth + noPx; myelt.pixelWidth = newWidth;
- myelt.height = newHeight + noPx; myelt.pixelHeight = newHeight;
- }
Ses fonctions sont très pratique et très bien faites.
Sont script est basé sur une fonction importante qui est la première. Elle permet, en fonction du navigateur, de recupérer l'object de la balise.
C'est propre. Je l'ai pas essayé mais ça à l'air vraiment bien.
Bye...
page 1 page 2
Accès rapide :
Remonter 

