Redimensionnement d'un élément
page 1 page 2
Hello !
Merci pour l'explication mais j'ai demandé :

@+...
Merci pour l'explication mais j'ai demandé :
Quelqu'un sait comment on s'en sert?
@+...
Bin comme n'importe quel script js !
Tu le met dans ta page et tu appels la fonction souhaité en passant les parametres demandés !!
Je ne vois pas où est la difficulté ????
Tu le met dans ta page et tu appels la fonction souhaité en passant les parametres demandés !!
Je ne vois pas où est la difficulté ????
Hello !
Bon alors j'ai testé pour vous ...
La feuille de style style.css :
Le fichier fonctions.js :
Le fichier html :
Merci Bzh, t'avais juste fait une erreur sur la fonction showElt ('div','arg') qui requiert deux paramètres :
->Le "name" du div
->L'attribut du display (block par exemple)
En effet une fois rendu utile ce code donne des idées ...
@+...
Bon alors j'ai testé pour vous ...
La feuille de style style.css :
- BODY {
- background-color: #88BB77;
- margin: 0px;
- padding: 0px;
- font: 10px tahoma;
- color: #FFFFFF;
- }
- #test {
- position: absolute;
- width: 50px;
- height: 50px;
- top: 0px;
- left: 0px;
- display: block;
- border-style: solid;
- border-width: 1px;
- border-color: #FFFFFF;
- background-color: #000000;
- }
- #content {
- position: absolute;
- width: 100px;
- height: 50px;
- top: 100px;
- left: 0px;
- border-style: solid;
- border-width: 1px;
- border-color: #000000;
- background-color: #FFFFFF;
- }
Le fichier fonctions.js :
- /*
- 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 maispour faire apparaitre la balise.
- deux paramètres :
- ->Le "name" du div
- ->L'attribut du display (block par exemple)
- */
- 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;
- }
Le fichier html :
- <head>
- <title>test</title>
- <link rel="stylesheet" type="text/css" href="style.css"></link>
- <script src="fonctions.js" type="text/javascript"></script>
- </head>
- <body>
- <div id="test" name="test">
- test
- </div>
- <div id="content" name="content">
- <a href="javascript:resizeElt('test','100','100')">resize</a>
- <a href="javascript:hideElt ('test')">hide</a>
- <a href="javascript:showElt ('test','block')">show</a>
- <a href="javascript:mvElt ('test','150','150')">move</a>
- <a href="javascript:chgZIndex ('test','3')">change z-index</a>
- </div>
- </body>
- </html>
Merci Bzh, t'avais juste fait une erreur sur la fonction showElt ('div','arg') qui requiert deux paramètres :
->Le "name" du div
->L'attribut du display (block par exemple)
En effet une fois rendu utile ce code donne des idées ...
@+...
Arf ! Oui... Le plus interressant reste tout de même la première fonction. Elle assure vraiment une bonne compatibilité...
Bye...
Bye...
page 1 page 2
Accès rapide :
Remonter 

