| |||||
| Dernière réponse | ||
|---|---|---|
| Sujet : [DHTML] Comment kon fait ca????????? | ||
| benou |
|
|
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| benou |
|
| xkamui | :bounce: :bounce: :bounce: UP :bounce: :bounce: :bounce: |
| darkoli | http://darkoli.free.fr/js/master_mind/m.htm
http://darkoli.free.fr/js/dragdrop.htm [edtdd]--Message édité par DarkOli--[/edtdd] |
| xkamui | :bounce: :bounce: :bounce: UP :bounce: :bounce: :bounce: |
| xkamui | :??: :??: y'a quelqu'un pour donner les fichiers *.js *.gif/*.jpg et *.html, tout ça dans un zip et qui marche parce que moi je comprend pas grand chose à votre truc :cry: :cry: |
| art_dupond |
|
| art_dupond | ben oui, tu peux faire tout ce que tu fais dans une page quoi, mais sur une autre couche, une sorte de layer quoi :D c'est pas grave, on se comprend, c'est le principal :jap: |
| darkoli |
|
| darkoli |
|
| dropsy | merci :jap: mon boss va croire que je maitrise... bon mon salaire je vous l'envoie à kel adresse? :D |
| benou | allez, c'est mon jour de bonté : je te file un truc que j'ai fait dans une vie antérieure et qui fait exactement la même chose. C'est compatible IE4 et sup et Netscape 4 et sup (pas testé sous netscape 6)
Attention, ca va être long comme post ... voici le contenu du fichier etiquette.js : //////////// DEBUT ///////////////////// var GAUCHE = 0; var DROITE = 1; var CENTRE = 2; // variables de personalisation var couleur_fond = "lightyellow"; var couleur_bordure = "black"; var couleur_texte = "black"; var taille_texte = 1; var largeur_bordure = 1; var decalage_x = 10; //decalage de l'etiquette par rapport a la souris var decalage_y = 20; var dft_largeur = 200; var dft_direction = DROITE; var dft_alignement = "LEFT"; var pos_fixe = false; var pos_fixe_x = 236; //position centrale var pos_fixe_y = 0; // recherhce navigateur ns4 = (document.layers)? true:false; ie4 = (document.all)? true:false; ie5 = false; if ((ie4) && (navigator.userAgent.indexOf('MSIE 5')>0)) ie5 = true; // declaration est initialisation des variables var x = 0; var y = 0; var est_visible = false; var dir; // direction courante var le_x, le_y; var obj_etiquette; var hauteur_aide, largeur_aide; var largeur_doc, hauteur_doc; if ((ns4)||(ie4)) { if (ns4) obj_etiquette = document.etiquette; if (ie4) obj_etiquette = etiquette.style; document.onmousemove = deplacementSouris; if (ns4) document.captureEvents(Event.MOUSEMOVE); if (ie4) { largeur_doc = document.body.clientWidth; hauteur_doc = document.body.clientHeight; } else if (ns4) { largeur_doc = document.width; hauteur_doc = document.height; } //alert("largeur_doc = " + largeur_doc + ", hauteur_doc = " + hauteur_doc); } // PRB NETSCAPE if (ns4) { pos_fixe = true; dft_alignement = "CENTER"; dft_largeur = 400; taille_texte = 2; } function aide(texte, direction, alignement, largeur) { if (! ((ns4) || (ie4))) return false; if (typeof direction == 'undefined') direction = dft_direction; if (typeof largeur == 'undefined') largeur = dft_largeur; if (typeof alignement == 'undefined') alignement = dft_alignement; if (typeof texte == 'undefined') texte = "Aide non-disponible"; html = "<TABLE WIDTH=" +largeur+ " BORDER=0 CELLPADDING=" +largeur_bordure+ " CELLSPACING=0 BGCOLOR=\"" +couleur_bordure+ "\">\n" + "<TR><TD>\n" + "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\"" +couleur_fond+ "\">\n" + "<TR><TD ALIGN=\"" + alignement + "\">\n" + "<FONT FACE=\"Verdana,Arial,Helvetica\" COLOR=\"" +couleur_texte+ "\" SIZE=\"" +taille_texte+ "\">\n" + texte + "\n" + "</FONT>\n" + "</TD></TR>\n " + "</TABLE>\n" + "</TD></TR>\n" + "</TABLE>" if (ns4) { document.etiquette.document.write(html); document.etiquette.document.close(); } else if (ie4) document.all["etiquette"].innerHTML = html; if (ie4) { hauteur_aide = document.all["etiquette"].clientHeight; largeur_aide = document.all["etiquette"].clientWidth; } else if (ns4) { hauteur_aide = document.etiquette.document.height; largeur_aide = document.etiquette.document.width; } positionner (direction); if (! est_visible) afficher(obj_etiquette); } function afficher(obj) { if (ns4) obj.visibility = "show"; else if (ie4) obj.visibility = "visible"; est_visible = true; } function c() { cacher ();} function cacher () { if (!((ns4)||(ie4))) return; if (ns4) obj_etiquette.visibility = "hide"; else if (ie4) obj_etiquette.visibility = "hidden"; est_visible = false; } function positionner (direction) { dir = direction; if (pos_fixe) { le_x = pos_fixe_x - largeur_aide/2; le_y = pos_fixe_y; } else if (direction == CENTRE) { le_x = x+decalage_x-largeur_aide/2; le_y = y+decalage_y; } else if (direction == DROITE) { le_x = x+decalage_x; le_y = y+decalage_y; } else if (direction == GAUCHE) { le_x = x-decalage_x - largeur_aide; le_y = y+decalage_y; } if (le_x + largeur_aide > largeur_doc) le_x = largeur_doc - largeur_aide; if (le_x < 0) le_x = 0; if (le_y + hauteur_aide > hauteur_doc) le_y = hauteur_doc - hauteur_aide; if (le_y < 0) le_y = 0; obj_etiquette.left = le_x; obj_etiquette.top = le_y; } function deplacementSouris(e) { if (ns4) {x=e.pageX; y=e.pageY;} if (ie4) {x=event.x; y=event.y;} if (ie5) {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;} if (est_visible) { positionner (dir); } } ////////////// FIN /////////////////////// ensuite dans ton fichier HTML, tu ajoutes ces 2 lignes : <DIV ID="etiquette" STYLE="position:absolute; visibility:hide; z-index:0;"></DIV> <SCRIPT LANGUAGE="JavaScript" SRC="etiquette.js"></SCRIPT> puis quand tu veux que le layer s'affiche ay dessus d'un lien, tu fais comme ca : <a href="javascript:void(0)" onMouseOut="c()"; onMouseOver="aide('ici tu met du HTML. ex : <img src=youpi.jpg>');">text</a> remarque : sous netscape, tu ne peux gérer les onMouseXX que sur les liens, mais sous IE tu peut ajouter ca sur à peu pres toutes les balises. |
| art_dupond |
|
| dropsy |
|
| youdontcare |
non, tu restreins. on peut appliquer ça à n'importe quelle balise. |
| art_dupond |
|
| dropsy | waou!!! merci, c terrible... bon jvais éplucher tout ca :hello: |
| darkoli | Voila deux exemple qui prouvent que tu peux faire bouger ce que tu veux !!!
Darg & Drop d'objet (div, bouton, textarea)
|
| youdontcare | tu passes par les css et tu lui files une position absolue :
<div id='myDiv' style='position: absolute; left: 40; top: 40'>mon div</div> et pour le déplacer : <body .... onmousemove='onMove()'> <div id='myDiv' style='....> <script> function onMove() { myDiv.style.left = event.x; myDiv.style.top = event.y; } </script> |
| dropsy | ben moi kan j'utilise un div, ce que j'y met est "intégré" à la page et pas au-dessus du reste de la page |
| art_dupond | ben c'est ca un div. non ? |
| dropsy | je suis d'accord avec ton analyse, mais ce ki me paraît dur c le div qui "flotte" au-dessus de la page html... c comme si y avait deux pages...
je suis clair dans mon interrogation :??: :D |
| darkoli | Ben l'image est contenue dans un div (enfin je ne sais meme pas si c'est utile).
En fait lorsque la souris arrive sur l'image un evenement se declenche, indiquant que le pointeur et sur l'image, a ce moment le div est rendu visible avec à l'interieur l'image correspondant à l'image survolée . Et tant que le pointeur est en mouvement sur l'image, le div le suit à quelques pas !!! C'est tres simple à faire !!! |
| dropsy | moi je trouve ca sympa le onmouseover sur les images:
http://www.wallpapers.ru/ mais comment kon fait? pour faire apparaitre les images par dessus... jlai déjà vu ailleurs, mais g jamais su comment :D à tout hasard, g choper le code de la page (enfin fichier enregistrer sous, c pas le plus dur :D) mais si qqun c comment ca fonctionne, un ptit indice, un ptit lien vers un tutorial... Enfin, un coup de main koi :) |




