Coment connaitre la taille d'une layer ?? [HTML] [JAVASCRIPT] - Programmation
Marsh Posté le 02-03-2001 à 17:20:58
Il ne faudrait pas passer par les methodes offsetxxx ?
offsetHeight, offsetWidth ?
Marsh Posté le 02-03-2001 à 17:24:40
bonne idée, on va voir si tu a gagné ta bière nabab (place de la comédie?)
Marsh Posté le 02-03-2001 à 17:26:46
Nan planté, c clientxxxx.
clientWidth, clientHeight.
Marsh Posté le 02-03-2001 à 17:27:56
Je confonds tout le temps ...
Marsh Posté le 02-03-2001 à 17:30:55
Car offset marche bien aussi sauf si tu mets un layer de 200 et que tu n'utilises que 100 il te renvoie 200 alors que client te renvoie 100.
Marsh Posté le 02-03-2001 à 17:31:47
Non offsetHeight ça marche. Par contre il me faudrait la même chose pour NS (en fait pour IE j'avais pas de soucis puisque je passais par un iframe)
alors pour NS c'est comment??
J'ai besoin de ça pour faire une fenêtre imbriquée avec un scroll en js dont la taille change en fonction du nombre de lignes
Merci pour la nuance entre client et offSet
--Message édité par duch--
Marsh Posté le 02-03-2001 à 17:33:46
Ouaips cela marche car tu es dans la situation que je t'ai indiqué . oula les cross postings ....
J'ai le droit à la moitié d'une biere
Netscape, oula je developpe exclusivement depuis quelques mois pour IE, donc lointain souvenir.
--Message édité par nabab--
Marsh Posté le 02-03-2001 à 17:34:47
Si tu me trouves pas de soluce pour netscape, pas de binouze, j'fais du multi-plateforme moi
Ca motive ça non?
Marsh Posté le 02-03-2001 à 17:39:44
que te renvoie width, enfin cela doit pas etre aussi .... stupide
Marsh Posté le 02-03-2001 à 17:42:31
Fait pas la gueule nabab, j'te la pairais qd même ta bière qd j'passerais par chez toi.
Bon pour l'instant pour Ns voilà ma soluce. En fait le contenu de ma fenêtre qui scrolle est importé depuis PHP, c'que j'vais faire c'est déduire la taille en pixels en fonction du nombre de lignes de ce que j'importe, j'vois qu'ça. J'aurais pas de blème si l'internaute change de typo puisque j'utilise les feuilles de styles avec des valeurs en points.
C'est qd même la merde d'être obligé de faire ça à casue d'un browser de !ù$µ
Marsh Posté le 02-03-2001 à 17:44:58
width = undefined (en gros y connait pas)
pareil pour innerHeight, height...
Marsh Posté le 02-03-2001 à 17:46:41
Ben>
function getWidth(layer)
{
if (Netscape)
{
if (layer.document.width)
return layer.document.width;
else
return layer.clip.right - layer.clip.left;
}
if (IE)
{
if (layer.style.pixelWidth)
return layer.style.pixelWidth;
else
return layer.clientWidth;
}
return -1;
}
function getHeight(layer)
{
if (Netscape)
{
if (layer.document.height)
return layer.document.height;
else
return layer.clip.bottom - layer.clip.top;
}
if (IE)
{
if (layer.style.pixelHeight)
return layer.style.pixelHeight;
else
return layer.clientHeight;
}
return -1;
}
C pas du multiplatform ca ?
Enfin va falloir le modifier, je pense.
Marsh Posté le 02-03-2001 à 17:47:41
Car en effet il va te donner la valeur definit par le CSS si tu en as mis une, au lieu de te donner directement clientWidth.
Marsh Posté le 02-03-2001 à 17:48:39
C'est joli ton truc, j'ai trouvé la propriété clip.height, ça à l'air de marcher
Je ne déclare pas mes layers avec CSS, seulement les fonts, car les layers et CSS ça foire avec NS (comme d'hab)
--Message édité par duch--
Marsh Posté le 02-03-2001 à 17:51:05
Ben il preconise clip.top - clip.bottom pkoi je ne sais pas ?
Marsh Posté le 02-03-2001 à 17:53:08
Un quart de biere ? Ou un car de biere
Marsh Posté le 02-03-2001 à 17:59:00
Une bière qd j'passe (j'prefere pas te l'envoyer par la poste)
Marsh Posté le 02-03-2001 à 18:01:36
Tu ne peux pas m'envoyer un carton de bouteilles de Champagne
(tres lourde l'allusion, c pas grave c la fin de semaine)
Sinon ben comme je le rabache toujours continuer vos efforts icilalune, il fo que cela depote.
Marsh Posté le 02-03-2001 à 18:02:34
Bon ben que j'utilise directement clip.height ou clip.top - clip.bottom ça renvoi le même résultat, qui est d'ailleurs différent de celui renvoyé par IE (dans mon test 209 pour IE et 228 pour NS pour 6 lignes)
Marsh Posté le 02-03-2001 à 18:03:09
Pour le champ' ça va être cho, même nous on a du mal à en avoir
Marsh Posté le 02-03-2001 à 18:04:06
pour la difference, c normal il y a 20 pixel de difference je crois entre IE et Netscape, je viens juste de lire cela. Je regarde si je retrouve l'url.
Enfin je sais plus ou alors c pour cela qu'il fallait employer la soustraction ... De toute maniere je sais que les différences il y en a, je n'ai jamais eu les memes resultats pour IE et Netscape quand je retaillais des layers ou les deplacaient.
--Message édité par nabab--
Marsh Posté le 02-03-2001 à 17:15:22
Ca parait con comme question mais je paie une bière au mec qui peut me répondre.
comment connaitre la taille réelle d'une layer, pas celle qu'on a rentré dans les propriétés. Par exemple je crée une layer de 100px de haut et je lui colle 300 lignes de texte, à la fin elle fait plus 100px de haut, mais comment qu'on fait pour connaitre la taille?
NB : sous IE nomdelayer.dtyle.pixelLeft renvoi 100px de toute façon.
---------------
Webmaster du site de l'Île-Saint-Denis : http://www.lile-saint-denis.fr