begin process at 2012 05 29 21:42:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

probleme webos


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

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

Bul3

Membre Club

Bonjour,

>>Je programme un webos
ça doit être bien.
même je ne sais pas ce que c'est !

>>pour voir tous les fichiers, telechargez-les
parce qu'en plus de ce que vous nous mettez
il manque des choses ?

ne vous étonnez pas de ne pas avoir de réponses
cernez un ch'tiot poil mieux votre souci
là, vous donnez l'impression d'avoir
récupérer je ne sais quoi je ne sais où
et de nous dire : tiens voilà tout et démerdez-vous

Cordialement [mon Site] [M'écrire] Bul

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

Bul3

Membre Club


>>un webos est comme un os, c'est à dire
>>qu'il imite un windows
sur le web ??? ???
vous êtes trop fort pour moi :
vous êtes en concurrence avec google ?
( qui n'est en fait pas en concurrence avec un
OS au sens strict, d'après ce que je lis !!!! )
mais franchement, vous vous trompez de langage !!!!!
assembleur, c[++] ... me semblent indispensables

>>je ne peut pas tout mettre
ah ben alors, vous allez avoir du mal à ce qu'on
corrige vos erreurs
handicapé nasal (**) faites donc l'extrait
de ce qui pose problème, on devrait pouvoir
vous aider à aller plus loin !

(**) néanmoins



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


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 : 0,515 sec (4)

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