Accueil > > > FENETRE MULTIPLE
FENETRE MULTIPLE
Information sur la source
Description
des fenêtres dans lesquelles tout contenu peut être inséré (image,video,text...etc)mais aussi des image et texte dans le navigateur que l'on déplace a la sourie totalement compatible IE FF Opera Safari et chrome une deuxieme source a ete ajouter elle gere le redimensionnement des image,je l'ai mis a par car quelle complique le script
Source
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html <html xmlns="http://www.w3.org/1999/xhtml">
- <title>fenetres</title>
- <head>
- <style>
- .Style1 {
- position:absolute;
- width:300px;
- height:250px;
- border-style:groove;
- border-width:2px;
- background-color:#B9B3A7;
- }
- .Style2 {
- height:15px;
- background-image:url('im.jpg')
- }
- </style>
- <SCRIPT>
- var deb=0 // important
- var tour=2 // important
- var fen
- function disableselect(e){
- return false
- }
- function disableselecte(e){
- return true
- }
-
- // detection du mouvement de sourie pour FF et IE
-
- function tarto(s) {
- if(navigator.appName.substring(0,3)=="Net"){
- setX = s.clientX+document.documentElement.scrollLeft;
- setY = s.clientY+document.documentElement.scrollTop;
- }
- if(navigator.vendor!=null && (navigator.vendor.substring(0,3)=="Goo") || navigator.vendor!=null && navigator.vendor.substring(0,3)=="App"){
- setX = s.clientX+document.documentElement.lastChild.scrollLeft;
- setY = s.clientY+document.documentElement.lastChild.scrollTop;
- }
- if(navigator.appName.substring(0,3)!="Net"){
- setX = event.clientX+document.documentElement.scrollLeft
- setY = event.clientY+document.documentElement.scrollTop
- return false;
- }
- }
- document.documentElement.onmousemove=tarto;
-
- ///////////////////////////////////////////////////////////////////////////
- // fonction de gestion du deplacement des fenetres par raport au curseur//
- /////////////////////////////////////////////////////////////////////////
-
- function sp(cen,den){
-
- if(tour==2){ // logique
- document.onmousedown=disableselecte
- return false
- }
- if(tour==1){
- px=setX
- py=setY
- fen=cen
- zim=den
- tour=0
- }
-
- //calcule de la position de la fenetre par raport au curseur
-
- didi=document.getElementById(fen).offsetLeft
- dide=document.getElementById(fen).offsetTop
- document.getElementById(fen).style.left=(didi+setX-px)+"px"
- document.getElementById(fen).style.top=(dide+setY-py)+"px"
- document.onmousedown=disableselect
-
- px=setX
- py=setY
- setTimeout("sp(fen)",10)
- }
-
- /////////////////////////////////////////////////////////////////////
- // fonction de gestion de position des fenetre au niveau du zindex//
- ///////////////////////////////////////////////////////////////////
-
- function plans(pp){
-
- var nb_de_fenetre=6 //nombre de fenetres dans la page
- if(deb==0){
- ttb=["tr","ta","tb","tc","td","te","tf","tg"] // si on rajouter des fenetre il faudra agrandir le tableau th,ti...etc
- deb=1
- for(i=1;i<nb_de_fenetre+1;i++){
- document.getElementById(ttb[i]).style.zIndex=i
- }
- }
- ttb[(nb_de_fenetre+1)]=pp
- for(mul=parseInt(document.getElementById(pp).style.zIndex)+1;mul<nb_de_fenetre+2;mul++){
- ttb[mul-1]=ttb[mul]
- document.getElementById(ttb[mul]).style.zIndex=(mul-1)
- }
- ttb[nb_de_fenetre+1]="tg"
- }
- </SCRIPT>
- </head>
- <body>
-
- <!--pas besoin d'un div vue qu'il sagit d'un tableau,onmousedown declenche la fonction plan pour la getion du z-index pour l'ensemle de la fenetre -->
-
- <table class="Style1" ID="ta" STYLE="top:10px;left:10px;"onmousedown=plans('ta')>
-
- <!--lors d'un onmousedown la varible tour est mise a 1 et la variable fen de la fontion sp prend l'id du table qui a pour effet de declancher la fonction sp(), onmouseup arrete la fonction -->
-
- <tr><td class="Style2" onmousedown=tour=1;sp('ta'); onmouseup=tour=2;></td></tr>
- <tr><td bgcolor=green>
- Il était une fois, voici bien longtemps, un pauvre meunier qui avait trois fils.
- Les deux ainés étaient très paresseux, mais le plus jeune travaillait dur.
- à sa mort, le meunier ne laissa à ses enfants que son moulin, son âne et son chat.
- </td></tr></table>
-
- <table class="Style1" ID="tb"; STYLE="top:300px;left:10px;"onmousedown=plans('tb')>
- <tr><td class="Style2" onmousedown=tour=1;sp("tb"); onmouseup=tour=2;></td></tr>
- <tr><td bgcolor=brown>
- Le plus vieux reçut le moulin le second, l'âne
- et le troisième n'hérita que d'un chat.
- Ses frères l'auraient probablement noyé.
- Les aînés s'empressèrent de vendre le moulin et l'âne.
- Et, comme ils ne travaillaient pas, ils eurent vite dépensé tout leur argent.
- </td></tr></table>
-
- <table class="Style1" ID="tc" STYLE="top:10px;left:350px;"onmousedown=plans('tc')>
- <tr><td class="Style2" onmousedown=tour=1;sp("tc"); onmouseup=tour=2;></td></tr>
- <tr><td bgcolor=yellow>
- Le plus jeune se désolait.
- Que ferais-je avec ce matou ?
- Je pourrais me confectionner des gants avec sa fourrure
- mais celà ne m'empêchera pas de mourir de faim."
- </td></tr></table>
-
-
- <table class="Style1" ID="td"; STYLE="top:300px;left:350px;"onmousedown=plans('td')>
- <tr><td class="Style2" onmousedown=tour=1;sp("td"); onmouseup=tour=2;></td></tr>
- <tr><td bgcolor=blue>
- Le chat qui avait d'autres projets,......prit la parole:
- Vous avez tort de vous plaindre, mon bon maître!
- lui dit le chat, à sa grande surprise.
- En échange de ce que vous avez fait pour moi, je vous apporterai le bonheur !
- </td></tr></table>
-
- <table class="Style1" ID="te" STYLE="top:10px;left:700px;"onmousedown=plans('te')>
- <tr><td class="Style2" onmousedown=tour=1;sp("te"); onmouseup=tour=2;></td></tr>
- <tr><td bgcolor=orange>
- Donnez-moi seulement un sac et une paire de bottes,
- et je ferai votre fortune! insista le chat.
- J'ai juste assez d'argent pour t'acheter ce que tu demandes, dit le garçon.
- Lorque le chat eut chaussé les bottes, son maître éclata de rire:
- Te voilà un vrai chat botté !
- </td></tr></table>
-
- <img ID="tf" src="sphinx.png"STYLE="position:absolute;top:280px;left:680px;width:300px;"onmousedown=plans('tf');tour=1;sp("tf") onmouseup=tour=2;>
- </body>
- </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html <html xmlns="http://www.w3.org/1999/xhtml">
<title>fenetres</title>
<head>
<style>
.Style1 {
position:absolute;
width:300px;
height:250px;
border-style:groove;
border-width:2px;
background-color:#B9B3A7;
}
.Style2 {
height:15px;
background-image:url('im.jpg')
}
</style>
<SCRIPT>
var deb=0 // important
var tour=2 // important
var fen
function disableselect(e){
return false
}
function disableselecte(e){
return true
}
// detection du mouvement de sourie pour FF et IE
function tarto(s) {
if(navigator.appName.substring(0,3)=="Net"){
setX = s.clientX+document.documentElement.scrollLeft;
setY = s.clientY+document.documentElement.scrollTop;
}
if(navigator.vendor!=null && (navigator.vendor.substring(0,3)=="Goo") || navigator.vendor!=null && navigator.vendor.substring(0,3)=="App"){
setX = s.clientX+document.documentElement.lastChild.scrollLeft;
setY = s.clientY+document.documentElement.lastChild.scrollTop;
}
if(navigator.appName.substring(0,3)!="Net"){
setX = event.clientX+document.documentElement.scrollLeft
setY = event.clientY+document.documentElement.scrollTop
return false;
}
}
document.documentElement.onmousemove=tarto;
///////////////////////////////////////////////////////////////////////////
// fonction de gestion du deplacement des fenetres par raport au curseur//
/////////////////////////////////////////////////////////////////////////
function sp(cen,den){
if(tour==2){ // logique
document.onmousedown=disableselecte
return false
}
if(tour==1){
px=setX
py=setY
fen=cen
zim=den
tour=0
}
//calcule de la position de la fenetre par raport au curseur
didi=document.getElementById(fen).offsetLeft
dide=document.getElementById(fen).offsetTop
document.getElementById(fen).style.left=(didi+setX-px)+"px"
document.getElementById(fen).style.top=(dide+setY-py)+"px"
document.onmousedown=disableselect
px=setX
py=setY
setTimeout("sp(fen)",10)
}
/////////////////////////////////////////////////////////////////////
// fonction de gestion de position des fenetre au niveau du zindex//
///////////////////////////////////////////////////////////////////
function plans(pp){
var nb_de_fenetre=6 //nombre de fenetres dans la page
if(deb==0){
ttb=["tr","ta","tb","tc","td","te","tf","tg"] // si on rajouter des fenetre il faudra agrandir le tableau th,ti...etc
deb=1
for(i=1;i<nb_de_fenetre+1;i++){
document.getElementById(ttb[i]).style.zIndex=i
}
}
ttb[(nb_de_fenetre+1)]=pp
for(mul=parseInt(document.getElementById(pp).style.zIndex)+1;mul<nb_de_fenetre+2;mul++){
ttb[mul-1]=ttb[mul]
document.getElementById(ttb[mul]).style.zIndex=(mul-1)
}
ttb[nb_de_fenetre+1]="tg"
}
</SCRIPT>
</head>
<body>
<!--pas besoin d'un div vue qu'il sagit d'un tableau,onmousedown declenche la fonction plan pour la getion du z-index pour l'ensemle de la fenetre -->
<table class="Style1" ID="ta" STYLE="top:10px;left:10px;"onmousedown=plans('ta')>
<!--lors d'un onmousedown la varible tour est mise a 1 et la variable fen de la fontion sp prend l'id du table qui a pour effet de declancher la fonction sp(), onmouseup arrete la fonction -->
<tr><td class="Style2" onmousedown=tour=1;sp('ta'); onmouseup=tour=2;></td></tr>
<tr><td bgcolor=green>
Il était une fois, voici bien longtemps, un pauvre meunier qui avait trois fils.
Les deux ainés étaient très paresseux, mais le plus jeune travaillait dur.
à sa mort, le meunier ne laissa à ses enfants que son moulin, son âne et son chat.
</td></tr></table>
<table class="Style1" ID="tb"; STYLE="top:300px;left:10px;"onmousedown=plans('tb')>
<tr><td class="Style2" onmousedown=tour=1;sp("tb"); onmouseup=tour=2;></td></tr>
<tr><td bgcolor=brown>
Le plus vieux reçut le moulin le second, l'âne
et le troisième n'hérita que d'un chat.
Ses frères l'auraient probablement noyé.
Les aînés s'empressèrent de vendre le moulin et l'âne.
Et, comme ils ne travaillaient pas, ils eurent vite dépensé tout leur argent.
</td></tr></table>
<table class="Style1" ID="tc" STYLE="top:10px;left:350px;"onmousedown=plans('tc')>
<tr><td class="Style2" onmousedown=tour=1;sp("tc"); onmouseup=tour=2;></td></tr>
<tr><td bgcolor=yellow>
Le plus jeune se désolait.
Que ferais-je avec ce matou ?
Je pourrais me confectionner des gants avec sa fourrure
mais celà ne m'empêchera pas de mourir de faim."
</td></tr></table>
<table class="Style1" ID="td"; STYLE="top:300px;left:350px;"onmousedown=plans('td')>
<tr><td class="Style2" onmousedown=tour=1;sp("td"); onmouseup=tour=2;></td></tr>
<tr><td bgcolor=blue>
Le chat qui avait d'autres projets,......prit la parole:
Vous avez tort de vous plaindre, mon bon maître!
lui dit le chat, à sa grande surprise.
En échange de ce que vous avez fait pour moi, je vous apporterai le bonheur !
</td></tr></table>
<table class="Style1" ID="te" STYLE="top:10px;left:700px;"onmousedown=plans('te')>
<tr><td class="Style2" onmousedown=tour=1;sp("te"); onmouseup=tour=2;></td></tr>
<tr><td bgcolor=orange>
Donnez-moi seulement un sac et une paire de bottes,
et je ferai votre fortune! insista le chat.
J'ai juste assez d'argent pour t'acheter ce que tu demandes, dit le garçon.
Lorque le chat eut chaussé les bottes, son maître éclata de rire:
Te voilà un vrai chat botté !
</td></tr></table>
<img ID="tf" src="sphinx.png"STYLE="position:absolute;top:280px;left:680px;width:300px;"onmousedown=plans('tf');tour=1;sp("tf") onmouseup=tour=2;>
</body>
</html>
Conclusion
et çà marche très bien
Historique
- 10 mai 2008 23:07:43 :
- code en trop
- 11 mai 2008 20:22:44 :
- optimisation du code
- 13 mai 2008 22:28:54 :
- ajout de commentaire pour la compréhensions et la mise en œuvre du script
- 13 mai 2008 22:32:45 :
- ajout de commentaires pour une bonne compréhension et mise en œuvre du script
- 16 mai 2008 15:03:23 :
- nouvelle optimisation
- 02 juin 2008 16:07:31 :
- modification pour une adaptation plus simple (ajout d'une variable)
- 23 juin 2008 21:11:01 :
- j'ai creer une seul fonction de detection du mouvement de sourie pour IE et FF les deux fontion etait separe ; le script ne tourne plus continuellement en arriere plans la fonction sp()fonctionnement seulement quand on deplace la fenetre
resultat:fontionnement tres bien sur Opera ou a l'origine sa ramai et tous les autre navigateur IE FF et Safari.
- 23 juillet 2008 13:20:32 :
- elimination du probleme au niveau de la selection ( quand on deplasait une fenetre les objets et le texte en arriere plans etaient selectionne ) petit merci a zobibol pour m'avoir mis sur la voie.
- 23 juillet 2008 21:27:52 :
- ajout d'une deuxieme source elle gere le redimensionnement des image,je l'ai mis a par car quelle complique le script
- 03 octobre 2008 12:03:32 :
- mise a jour xhtml et css
- 04 octobre 2008 17:42:54 :
- compatibilite total avec safari IE FF opera et chrome
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
SOS!! balise windows.open [ par Olivierp001 ]
Bonjour a vous.Vu le mauvais accueil que l'on ma donné sur le chat, je tente ma chance ici.Je n'y connais rien au javascript mais je voudrais bien fin
problème avec Windows.Open [ par asm123 ]
En quelques mots voici mon problème,j'utilise la fonction javascript côté client "windows.open"(*) à qui je passe des paramètres.mais il arrive +/- 1
ms dos et windows 3.11 [ par ico19 ]
Je desirerait trouver ms dos 6.22 pour le mettre sur une vielle becane qui n'a pas de lecteur cd rom. ensuite je voudrait aussi trouver ms windows 3.1
ecriture dans un fichier + username windows [ par math85 ]
je cherche comment ecrire le nom d utilisateur de windows et la date dans un fichier en javascript au chargement d une page (onload=...)m@th85
desactivé la touche avec le logo windows [ par minicooper ]
Je voudrais savoir si quelqu'un connait le code ascii de cette touche, ou son nom sous windows. Mon but étant de la desactivé dans un code a base de j
Barre menu style Windows [ par cstan ]
salut a vous,je galere trop depuis 2, 3 jours !!!!HELP ME !!!!Pour mon projet je doit avoir une barre style windows en bas, jusqu'a la pas compliquer
Windows Update AIDEZ moi ????????????? [ par WbMr ]
Je voudrais savoir comment microsoft fait sa boite de dialog de téléchargement ????????????????????????????????????????<img src
Windows Media [ par samki ]
Bonjour!j'ai besoin de détecter l'existance de windows media player sur une machine(Mac ou PC).Pouvez vous m'aider
Lire une musique ds Windows Media ActiveX grace a un lien [ par link78180 ]
Salut !Voilà, j'ai un site avec un lecteur windows media (activex).et je voudré, en cliquant sur un lien vers une musique, que ca lise la musique ds l
Javascript Windows.open [ par s.defaye ]
J'utilise la fonction windows.open et je ne peux plus reutiliser cette fonction avec que la premiere fenetre ouverte soit fermée.Quelqu'un a t il une
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|