begin process at 2012 05 29 17:38:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Redimenssionnement proportionnel d'une fenêtre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Redimenssionnement proportionnel d'une fenêtre

mercredi 23 juin 2004 à 09:28:33 | Redimenssionnement proportionnel d'une fenêtre

lacouine

Bonjour,

Mon problème est simple mais à la fois compliqué... Cela fait 2 jours que je planche dessus sans pouvoir la parade. Si quelqu'un pouvait m'aider, je lui en serais reconnaissant.

Voila. Je lance une applet dans une nouvelle fenêtre (style pop up). Cette fenêtre est resizable. Lorsque je la redimenssionne manuellement, je redimenssionne mes controles dans mon applet (interaction javascript - java).

Cependant, j'obtiens mon ratio de redimenssionnement par le rapport de la hauteur initial de l'applet à la largeur fixée par la souris. Malheureusement, ne faisant rien du point de vue de la longueur, rien ne se passe lorsque je redimenssionne horzyzontalement. Or moi, je voudrais également redimenssionner ma fenêtre avec le même ratio ave la largeur initiale sur la longueur.

NB : Le problème est que je veux faire cette action sur la fonction RESIZE dans le javascript... Et par conséquent cela entraine un resize perpétuel... (Appel récursif) Et ça c'est très très bad...

Est-ce que quelqu'un pourrait me donner une petite astuce éventuellement, ce serait très sympa ?!? Chuss...

Voici mon code de la fenêtre de l'applet (ouverte en mode resizable sans les scrollbars) :

<HTML>

<HEAD>

<TITLE>Resizable Applet Demo</TITLE>
</HEAD>
<BODY onResize="resize()" onLoad="start()" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<SCRIPT LANGUAGE="JavaScript">
var normalWidth=0;
var normalHeight=0;

function start(){
normalWidth=document.body.clientWidth;
normalHeight=document.body.clientHeight;
resize();
}

function resize() {
var w_newWidth,w_newHeight;
var w_maxWidth=1600, w_maxHeight=1200;
if (navigator.appName.indexOf("Microsoft") != -1){
w_newWidth=document.body.clientWidth;
w_newHeight=document.body.clientHeight;
}else{
var netscapeScrollWidth=15;
w_newWidth=window.innerWidth-netscapeScrollWidth;
w_newHeight=window.innerHeight-netscapeScrollWidth;
}

if (w_newWidth>w_maxWidth)
w_newWidth=w_maxWidth;
if (w_newHeight>w_maxHeight)
w_newHeight=w_maxHeight;

var ratio=w_newHeight/normalHeight;

if(ratio==1) return;

// if(document.body.clientWidth!=ratio*normalWidth) {
self.window.resizeTo(normalWidth*ratio,w_newHeight);
document.myApplet.setSize(normalWidth*ratio,w_newHeight);
alert(ratio);

window.scroll(0,0);
}

window.onResize = resize;
window.onLoad = resize;
/*
if (document.all) {
x=document.body.scrollWidth;
ww=(x<(screen.width-step) && x>ww) ? x : ww;
x=document.body.scrollHeight;
hh=(x<(screen.height-step) && x>hh) ? x : hh;
redim();
}else if (document.layers) {
ww=(document.width>ww) ? (document.width+10):ww;
hh=(document.height>hh) ? (document.height+10):hh;
setTimeout("self.window.resizeTo(ww,hh);",100);
}*/

</SCRIPT>

<APPLET NAME="myApplet" CODE="Applet_SIATEL.class" width="100%" height="100%">
<param name="lang" value="en">
</APPLET>

</BODY>

</HTML>

Merci d'avance pour vos réponses... :-)

Anthony
mercredi 23 juin 2004 à 11:14:50 | Re : Redimenssionnement proportionnel d'une fenêtre

bultez

Membre Club
Bonjour, si j'ai compris :

<head>
<script type="text/javascript">
var ok=true;
function nvdim()
{ if (ok)
{ ok=false;
window.resizeTo(600,500);
ok=true; } }
</script>
</HEAD>
<BODY onresize="nvdim();">

tailles fixes pour l'exemple.
Cordialement Bul. [Site] [Mail]
mercredi 23 juin 2004 à 11:21:45 | Re : Redimenssionnement proportionnel d'une fenêtre

lacouine


Merci. C'est juste ce que j'essaie de faire en ce moment.... ;-) Les grands esprits se rencontrent... n'est-ce pas !!!! lol

Si y avait une soluc' un peu plus élégante, ce serait cool...

Mais je vous tiens au courant si ça marche. :-)

Anthony
mercredi 23 juin 2004 à 11:32:17 | Re : Redimenssionnement proportionnel d'une fenêtre

lacouine


Merci. C'est juste ce que j'essaie de faire en ce moment.... ;-) Les grands esprits se rencontrent... n'est-ce pas !!!! lol

Si y avait une soluc' un peu plus élégante, ce serait cool...

Mais je vous tiens au courant si ça marche. :-)

Anthony
mercredi 30 juin 2004 à 11:10:37 | Re : Redimenssionnement proportionnel d'une fenêtre

lacouine


Bon.... je reviens cette fois-ci car je n'arrive pas à dévelloper une solution correcte et ce même avec un boolean de vérification...

Il semble qu'il y ait plusieurs demande de resize qui sont fait... Quelqu'un pourrait-il essayer de faire ce petit code de redimenssionnement...

Je rappelle que je souhaite juste redimenssionner la longueur d'une fenêtre lorsque celle ci a été redimenssionnée justement (suivant la largeur ou la hauteur). Le redimenssionnement se fait selon un ratio qui se calcule avec les dimenssionns initials....

Cf. Code ci-dessus... Merci de m'aider car là, je suis vraiment dans la panade...

Bonne continuation au forum...

Merci d'avance.

Anthony
vendredi 2 juillet 2004 à 10:13:38 | Re : Redimenssionnement proportionnel d'une fenêtre

lacouine

Bultez,

Si tu exécutes ce code, tu verras que cela ne correspond pas a ce que je veux faire...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript">
var ok=true;
var i=0;
function nvdim()
{i=i+10;
if (ok)
{ ok=false;
window.resizeTo(600,500-i);
ok=true; } }
</script>
</HEAD>
<BODY onresize="nvdim();">

</body>
</html>

Il y a un appel récursif qui est fait malgré tout à la fonction resize... Vois tu la solution à cela ?
vendredi 2 juillet 2004 à 10:52:55 | Re : Redimenssionnement proportionnel d'une fenêtre

bultez

Membre Club
on fait une connerie non ?
j'ai l'impression que le ok=true ne s'exécute
avant que le resize ne se fasse ?

<html>
<head>
<script type="text/javascript">
function met()
{ ok=true; }
function nvdim()
{if (ok)
{ok=false;
i=i+10;
window.resizeTo(600,500-i);
setTimeout("met();",10); } }
</script>
</HEAD>
<BODY>
<script type="text/javascript">
var i=0;
var ok=true;
window.onresize=nvdim;
</script>
</body></html>

en mettant une tempo ?
pas très satisfaisant ! mais ?!
Cordialement Bul. [Site] [Mail]
vendredi 2 juillet 2004 à 11:14:59 | Re : Redimenssionnement proportionnel d'une fenêtre

lacouine


Malheureusement, cela ne marche toujours pas comme je veux...

Je reprécise que ce que je désire faire c'est redimensionner la longueur proportionnellement en fonction de la hauteur...

De ce fait, il faudrait que j'intercepte seulement la dernière valeur (après mouseup) de la longueur... Et pour cela, l'évenement du body onresizeend était parfait... Cependant, il ne marche pas....

Du coup, j'essaie avec du bricolage comme ce que nous avons essayé de faire précédemment mais sans succes non plus, car cela ne redimenssionne pas ma page... la souris à la priorité du resizing... (vous voyez ce que je veux dire ?!?)

Si vous avez une autre hypothèse de travail... merci d'avance de me la poster...

Avec toute ma sympathie,

Anthony


Cette discussion est classée dans : document, window, body, ratio, newheight


Répondre à ce message

Sujets en rapport avec ce message

utilisation de createTextRange() [ par rttb ] Salut,Mon probleme est le suivant :J'utilise : window.document.body.createTextRange()Cela fonctionne bien mais c'est le 'body' qui me perturbe, en eff Evènement onResize [ par initnocsib ] Je souhaite afficher plus ou moins de photos dans un bandeau en fonction de la taille de la fenêtre. voici le code : if (document.body) { var larg = Cohabitation entre 2 codes impossible (compte à rebours+neige) [ par Aggshkn ] Bonjour,Je souhaite mettre dans une même page deux codes javascipt : un compte à rebours jusqu' au début de l' année 2006 (http://www.editeurjavascrip Etirer un background [ par blat ] Bonjour, Je cherche à étirer un background d'une page afin qu'il remplisse toute la page et ce sans répétition. J'ai vu que cette opération est impo pb menu click droit [ par sdisp ] Bonjour, Je souhaite faire un menu qui apparaisse lors que l'on fait un click droit sur un lien et qui remplace le menu habituel. J'ai récupéré un cod Un anti-clic droit efficace, désactiver l'impression écran?????? [ par laure24 ] Bon jour à tous , Je suis en train de réaliser un site internet, pour y mettre des images que j'ai creer. Pour éviter qu'on me les pique, je suis à la equivalent document.body ?? [ par Kangourou_Nomade ] j'essai de rentre un tableau d'éléments HTML tel que : var MyHTMLTab = document.body.childNodes ou var MyHTMLTab = document.getElementsByTagName("body Marche pas sous IE [ par taxidogkiller ] Bonjour, j'ai télécharger un script de galerie d'image et en voulant le bidouiller je suis tomber sur des fonction javascript qui ne marche que sous m centrer un popup avec FF..... [ par jacknikolson ] Salut à tous et bonne année.J'utilise un cms (pwsphp) avec une galerie d'images. Il y a un JS pour afficher les images en popup. je voudrais que l'ima Redimensionnement auto iframe en largeur - pb sous FireFoX [ par pico_rasta ] J'utilise 2 codes javascript différents pour le redimensionnemenent automatique d'une iframe dans un page :sous IE :document.all[frame].style.height =


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,820 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales