Accueil > Forum > > > > probleme webos
probleme webos
mercredi 12 août 2009 à 12:08:06 |
probleme webos

superpl
|
Bonjour. Je programme un webos, dont le noyeau est inspiré d'un tutoriel sur "le site du zero", mais je rencontre un probleme : j'ai mis une icone, et depuis j'ai un soucis : quand je bouge la fenetre, il y a a un decalage avec la souris, dépendant de la taille de l'icone . J'ai caché le problème en corrigeant le décalage
( dX = (x+3) - eX; dY = (y+67) - eY : 3 et 63 sont le décalage), mais la fenetre ne s'agrandit pas !
voici le code principal :
Code HTML :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML ><HEAD><TITLE>Fenêtre</TITLE>
<META http-equiv=Content-type content="text/html; charset=utf-8">
<script type="text/javascript">var dragged = null;
<!--
function Open(){
document.getElementById("Windows").style.display = "block";
}
var dX, dY;
function start_drag(objet,event)
{
if( objet.max) return; //on quitte la fonction
dragged = objet;
event.returnValue = false;
if( event.preventDefault ) event.preventDefault();
//Coordonnées de la souris
var x = event.clientX + (document.documentElement.scrollLeft + document.body.scrollLeft);
var y = event.clientY + (document.documentElement.scrollTop + document.body.scrollTop);
//Coordonnées de l'élément
var eX = 0;
var eY = 0;
var element = objet;
do
{
eX += element.offsetLeft;
eY += element.offsetTop;
element = element.offsetParent;
} while( element && getCssStyleValue(element, 'position') != 'absolute');
//Calcul du décallage
dX = (x+3) - eX;
dY = (y+67) - eY;
}
function min_max(fenetre)
{
if( ! fenetre.max )
{
fenetre.max = true;
fenetre.oldTop = fenetre.style.top;
fenetre.oldLeft = fenetre.style.left;
fenetre.oldWidth = fenetre.style.width;
fenetre.oldHeight = fenetre.style.height;
fenetre.style.top = 0;
fenetre.style.left = 0;
fenetre.style.width = '100%';
fenetre.style.height = '100%';
}
else
{
fenetre.max = false;
fenetre.style.top = fenetre.oldTop;
fenetre.style.left = fenetre.oldLeft;
fenetre.style.width = fenetre.oldWidth;
fenetre.style.height = fenetre.oldHeight;
}
}
function close(fenetre)
{
//fenetre.parentNode.removeChild(fenetre);
//fenetre.style.display = 'none';
document.getElementById("Windows").style.display = "none";
}
function drag_onmousemove(event)
{
if( dragged )
{
var x = event.clientX + (document.documentElement.scrollLeft + document.body.scrollLeft);
var y = event.clientY + (document.documentElement.scrollTop + document.body.scrollTop);
//On applique le décalage
x -= dX;
y -= dY;
dragged.style.position = 'absolute';
dragged.style.left = x + 'px';
dragged.style.top = y + 'px';
}
}
function drag_onmouseup(event)
{
dragged = null; //On arrête le drag&drop
}
function addEvent(obj,event,fct)
{
if( obj.attachEvent)
obj.attachEvent('on' + event,fct);
else
obj.addEventListener(event,fct,true);
}
function getCssStyleValue(element /*element html*/, style/*style recherché*/)
{
if( element.currentStyle )
{
return element.currentStyle[style];
}
else
{
return window.getComputedStyle(element,null).getPropertyValue(style);
}
}
function drag_onmousedown (event)
{
var target = event.target || event.srcElement;
//On commence par trouver la fenêtre elle-même
var fenetre = target;
while( fenetre)
{
if( fenetre.className && fenetre.className.match(/\bwindow-base\b/g) )
{
break; //On arrête la boucle
}
fenetre = fenetre.parentNode;
}
if( !fenetre) //Si on est sorti de la boucle mais qu'on a trouvé aucune fenêtre, on abandonne
return;
//Maintenant, on part à la recherche d'un bouton déclencheur
var element = target;
while(element)
{
if( element.className)
{
if( element.className.match(/\bwindow-close\b/g))
{
close(fenetre);
break;
}
else if( element.className.match(/\bwindow-min-max\b/g) )
{
min_max(fenetre);
break;
}
else if( element.className.match(/\bwindow-move\b/g) )
{
start_drag(fenetre, event);
break;
}
}
element = element.parentNode;
}
//Mettre au premier plan
var elements = document.getElementsByTagName('*'); //On récupère tous les éléments de la page
var zIndex = 0;
for( var i=0; i < elements.length; i++)
{
zIndex = Math.max(zIndex,elements[i].style.zIndex);
}
fenetre.style.zIndex = zIndex + 1; //toujours plus haut que le plus haut
}
addEvent(document,'mousedown',drag_onmousedown);
addEvent(document,'mousemove',drag_onmousemove);
addEvent(document,'mouseup',drag_onmouseup);
a=0;
-->
</script>
<STYLE type=text/css>.window-base {
BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; BORDER-LEFT: #000 1px solid; WIDTH: 400px; BORDER-BOTTOM: #000 1px solid; POSITION: absolute; HEIGHT: 200px; BACKGROUND-COLOR: #ddd; CURSOR: url("curseurs/Blue Obsession/normal.cur"), auto
}
.window-close {
FLOAT: right; BACKGROUND-COLOR: #00d ;
CURSOR: url("curseurs/Blue Obsession/main.cur"), auto
}
.window-min-max {
FLOAT: right; BACKGROUND-COLOR: #00d= ; CURSOR: url("curseurs/Blue Obsession/main.cur"), auto
}
.window-move {
WIDTH: 100%;CURSOR: url("curseurs/Blue Obsession/deplacements.cur"), auto; background-image:url("move.bmp"); HEIGHT: 30px; BACKGROUND-COLORe: #00d; color:white;
}
body{
CURSOR: url("curseurs/Blue Obsession/normal.cur"), auto;
background-image:url("fonds d'ecran/1.jpg");
}
html, html *
{
CURSOR: url("curseurs/Blue Obsession/normal.cur"), auto;
position:relative;
}
.img_fond
{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#background{position:absolute; z-index:1; width:100%; heigth:100%;}
#scroller{position:absolute; z-index:2; width:100%; heigth:100%; top:0; left:0; overflow:auto;}
#content{padding:5px 300px 20px 200px}
</STYLE>
<META content="MSHTML 6.00.2900.3395" name=GENERATOR></HEAD>
<BODY >
<div id="scollerz">
<div id="contente">
<script type="text/javascript">document.getElementById("Windows").style.display = "block";</script>
<img id="icone" src="a.png" ondblclick="Open();" onclick=" if(a) {this.src='a.png'; a=0;} else { this.src='a2.png'; a=1;}" />
<div id="Windows" style="display:none;z-index:5;">
<DIV style="WIDTH: 100%; HEIGHT: 100%">
<DIV class="window-base" >
<DIV class=window-move><img src="sans titre.gif" class=window-close /><img src="sans titre vert.gif"
class=window-min-max /> apparence </DIV><iframe src = "applications/apps/hello world.html" style="width:100% ; height:100%"></iframe>
</OBJECT>
</DIV></DIV>
</div>
</DIV>
</div>
</div>
</BODY></HTML>
pour voir tous les fichiers, telechargez-les ici .
PS : Désolé s'il y a des div et des classes en trop, ils ont été supprimés, mais pas quand j'ai fait l'enregistrement .
|
|
mercredi 12 août 2009 à 13:39:04 |
Re : probleme webos
|
vendredi 14 août 2009 à 13:27:21 |
Re : probleme webos

superpl
|
1/ un webos est comme un os, c'est à dire qu'il imite un windows .
2/ je ne peut pas tout mettre : les seuls codes externes sont helloworld (le corps de l'application ouverte grace à l'icone), qui inclut un autre code js .
Les autres fichiers sont des fonds d'écrans, des packs d'icones et des images utilisés (ou non mais vont etre utilisé: je n'ai pas enlevé les fichiers jusque là inutilisés), que je ne peut pas mettre.
Mais on peut tester le code en mettant une icone 50x50, et toutes les autres images citéés dans le code principal (on s'en fiche de helloworld)
Merci de vos reponses
|
|
vendredi 14 août 2009 à 14:06:47 |
Re : probleme webos
|
Cette discussion est classée dans : curseurs, url, auto, background, cursor
Répondre à ce message
Sujets en rapport avec ce message
Petits problèmes [ par zzzzzz ]
Salutdéja j'aimerai pouvoir configuré le style de mes icones dans plusieurs conditions. attente toucher normal ect...j'ai fait :BODY{ cursor:url("Autr
récupérer l'url de background-image d'une div pour fonction javascript [ par ornorme ]
bonjour!c'est ma première fois sur ce forum!et je me suis mis à la création de site internet ya trois semaine et la je suis en détresse...voila mon pr
Prob :Petit menu contextuel compatible Netscape,Mozilla, IE [ par piedpierre ]
Voila, je cherche à adapter un menu context prévu à la base sur IE5 pour Mozilla et eventuellement Netscape mais je galère pour suivre le lien contenu
Bug d'affichage CSS [ par skit ]
B'jour à tous (oui je pollue pas mal le forum en ce moment) Ca fait 2h que je cherche à aligner ça correctement mais euh... sans succès :( Donc en f
auto surf [ par openzone ]
bonjour il y a de cela quelques années, des javascripts circulaient pour simuler le surf : c'est ce genre de code dont j'ai besoin : un javascript qu
bug sous firefox [ par ahmedoo ]
Salut, sous IE le style="background-repeat: repeat-y" marche très bien mais évidement sous firefox ça ne marche pas ! Quelqu'un peut regarder ma css
Listbox/javascript et css [ par leejunfan ]
Bonjour a tous,Je suis en train de programmer une petite listbox qui doit m'afficher un fond différent en fonction des choix sans recharger la pagevoi
Auto-complétion multi-champs [ par nabmoah ]
Bonjour. J'ai téléchargé un petit code en JS/Ajax PHP/MySQL pour mettre en place un système d'auto-complétion sur mon formulaire. Malheureusement ce
menu click droit [ par salim81 ]
bonjour a tous! bon j'ai une frame qui contient une page gauche(sommaire) et page droite(principale).j'ai telecharge un script javascript compatible M
menu contextuel [ par salim81 ]
bonjour a tous! bon j'ai un menu comme ci-dessous:menu: process1 process2 j'ai telechargé le code javascript qui permet d'afficher un menu contextuel
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|