3 petites fonctions pour gerer vos frame frames

0/5 (5 avis)

Snippet vu 15 031 fois - Téléchargée 30 fois

Contenu du snippet

Afficher / Cacher une FRAME avec tempo possible, récup la taille d'une FRAME et Définir la taille d'une FRAME IE, Mozilla,... compatible

Source / Exemple :


// 4 Fonctions (dont 1 ne sert qu'à la 1ere) pour gérer la taille de ses frames
// fonction FrameModif(frame) (utile pour faire un bouton cache / affiche frame jumelle)
//		où frame doit être à 0 ou à 1 selon qu'on appelle la fonction de la frame de gauche ou de droite
// 		Met à 0 la taille de la fenètre jumelle ou à screen.width selon qu'on l'appelle de la frame gauche ou droite
//		Et la remet à son état initial si on rappelle la fonctions 
// fonction FrameSize(taille) met la frame de gauche à (taille) pixels.
// fonction FrameGetSize() retourne la taille de la frame de gauche en pixel

// Fonctions libres de tout droit crée par PiedPierre compatible IE et mozilla

//wcol=FrameGetSize();// ca c'est pour avoir la taille de la frame au départ mais il semblerait que wcol soit globale tout de meme;
vit=(screen.width)/6;// ici on paramètre la vitesse de scroll en pixel.
function FrameModif(frame){
 w=FrameGetSize();vit2=vit;if(w!=0 && w!=screen.width){wcol=w;col=wcol-1;}else{col=wcol;}//col=eval(wcol);document.write(col);
 if(frame==0){if(w<screen.width){w=col;vit2=-vit2;}} // on agrandit ou on reduit
 else if(frame==1){if(w>col){w=col;}else{vit2=-vit2;}}else{document.write("Erreur FrameModif() n'accepte que 0 ou 1 comme argument");return false;}
 moFrame(w,col,frame,vit2);return w;}
function moFrame(w,col,frame,vit2){
 w=w-vit2;if(w<col && frame==0 || w>col && frame==1){w=col;}
 if(w>screen.width){w=screen.width;}else if(w<0){w=0;}
 window.parent.document.body.cols=w+",*";if(w>=screen.width || w==col || w<=0){return;}
 setTimeout("moFrame("+w+","+col+","+frame+","+vit2+")",0)}
function FrameSize(taille){window.parent.document.body.cols=taille+",*";return true;}
function FrameGetSize(){wp=window.parent.document.body.cols;po=wp.indexOf(",");w=wp.substr(0,po);return w;}

Conclusion :


On peut par exemple créer un bouton sur lequel en cliquant on masque ou affiche la frame jumelle :
<a href='#'onClick='FrameModif(1);'><img src='base2.gif'></a>

A voir également

Ajouter un commentaire Commentaires
cs_pipouz Messages postés 56 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 septembre 2008
20 oct. 2007 à 00:20
vieux script , c bete , c'est ce que je cherche....
gaffe_82 Messages postés 4 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 10 avril 2006
22 août 2007 à 14:46
Bonjour,
j'ai essayé ton exemple, je n'arrive pas à la faire marcher moi non plus.
Qqun sait où est le problème ?
Bonne journée !
ziconez Messages postés 3 Date d'inscription mardi 4 avril 2006 Statut Membre Dernière intervention 5 mai 2006
5 mai 2006 à 12:21
piedpierre
Ton script m'interrese beaucoup, mais j'ai beau essayer ton exemple, je n'arrive pas à le faire marcher.

Voilà, j'ai trois frames verticales et j'aimerai faire un effet de rideau avec les deux frames droite et gauche à l'aide d'un bouton afin d'agrandir la frame centrale. Tu dis qu'il faut copier le script dans centrale.html. j'ai essayé en mettant un bouton et le script dans les trois fenetre et cela m'envoie une insulte du genre erreur (inconnue) sur la page.
piedpierre Messages postés 29 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 20 février 2007
6 déc. 2005 à 18:39
d'abord on crée un jeux de cadres :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
</head>

<frameset rows="80,*" cols="*" frameborder="no" border="0" framespacing="0">
<frame src="/top.html" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />
<frameset cols="80,*" frameborder="no" border="0" framespacing="0">
<frame src="gauche.html" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" title="leftFrame" />
<frame src="centrale.html" name="mainFrame" id="mainFrame" title="mainFrame" />
</frameset>
</frameset>
<noframes>

</noframes></html>
Ensuite 3 fichier html : top.html, gauche.html, centrale.html qui vont se loger dans les cadres, tu met le script ci dessus dans centrale.html <head><script type="text/javascript" language="javascript">
// Ici le script
</script></head>
cs_Med307 Messages postés 2 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 5 décembre 2005
5 déc. 2005 à 22:47
Je comprends pas trop où placer ce morceau de script, de plus il me semble que certaines parties sont incorrectes à cause des commentaires mais je suis pas sûr. Pourriez vous donner plus de précisions voire meme un fichier source car ce script à l'air très utile.Merci!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.