IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Modification d'un script


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut Modification d'un script
    Bonjour à tous,

    Je viens de télécharger un script dragdrop pour déplacer un calque sur une image. Il est clair que ce script dépasse de loin mes compétences malgré tous les efforts que j'ai pu faire pour le comprendre. Il existe une fonction que l'on appelle grâce à un bouton et qui écrit la position du claque par rapport à la page (coordonnées X et Y) dans les inputs d'un formulaire. Voici l'appel de cette fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    <input type="button" onClick="o= dd.elements['monCalque']; 
    document.forms[0].X1.value=o.x; document.forms[0].Y1.value=o.y" value="Enregistrer">
    Voici maintenant un extrait du script proprement dit, du moins les fonctions que je soupçonne de calculer la position du calque draggable. Je voudrais que quelqu'un me dise quoi modifier pour que les coordonnées X et Y ne soient pas calculées par rapport à la page, mais par rapport à l'image sur laquelle se situe le calque draggable. Cette image possède un id qui est "image".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     
    function WZDD()
    {
    	this.elements = new Array(0);
    	this.obj = null;
    	this.n = navigator.userAgent.toLowerCase();
    	this.db = (document.compatMode && document.compatMode.toLowerCase() != "backcompat")?
    		document.documentElement
    		: (document.body || null);
    	this.op = !!(window.opera && document.getElementById);
    	if(this.op) document.onmousedown = new Function('e',
    		'if(((e = e || window.event).target || e.srcElement).tagName == "IMAGE") return false;');
    	this.ie = !!(this.n.indexOf("msie") >= 0 && document.all && this.db && !this.op);
    	this.iemac = !!(this.ie && this.n.indexOf("mac") >= 0);
    	this.ie4 = !!(this.ie && !document.getElementById);
    	this.n4 = !!(document.layers && typeof document.classes != dd_u);
    	this.n6 = !!(typeof window.getComputedStyle != dd_u && typeof document.createRange != dd_u);
    	this.w3c = !!(!this.op && !this.ie && !this.n6 && document.getElementById);
    	this.ce = !!(document.captureEvents && document.releaseEvents);
    	this.px = this.n4? '' : 'px';
    	this.tiv = this.w3c? 40 : 10;
    }
    var dd = new WZDD();
     
    dd.Int = function(d_x, d_y)
    {
    	return isNaN(d_y = parseInt(d_x))? 0 : d_y;
    };
    dd.getWndW = function()
    {
    	return dd.Int(
    		(dd.db && !dd.op && !dd.w3c && dd.db.clientWidth)? dd.db.clientWidth
    		: (document.getElementById("banniere").innerWidth || 0)
    	);
    };
    dd.getWndH = function()
    {
    	return dd.Int(
    		(dd.db && !dd.op && !dd.w3c && dd.db.clientHeight)? dd.db.clientHeight
    		: (document.getElementById("banniere").innerHeight || 0)
    	);
    };
    dd.getScrollX = function()
    {
    	return dd.Int(window.pageXOffset || (dd.db? dd.db.scrollLeft : 0));
    };
    dd.getScrollY = function()
    {
    	return dd.Int(window.pageYOffset || (dd.db? dd.db.scrollTop : 0));
    };
    dd.getPageXY = function(d_o)
    {
    	if(dd.n4 && d_o)
    	{
    		dd.x = d_o.pageX || 0;
    		dd.y = d_o.pageY || 0;
    	}
    	else
    	{
    		dd.x = dd.y = 0; //global helper vars
    		while(d_o)
    		{
    			dd.x += dd.Int(d_o.offsetLeft);
    			dd.y += dd.Int(d_o.offsetTop);
    			d_o = d_o.offsetParent || null;
    		}
    	}
    };
    Voila...si quelqu'un est assez expert pour m'aider, ce serait cool.
    D'avance merci...

  2. #2
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    j'ai essayé, cherché, lu des tutaux...je sèche complètement...personne ne peut m'aider ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/09/2007, 17h16
  2. modification d'un script
    Par snoopy59110 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 26/06/2007, 15h48
  3. modification d'un script
    Par kaukos dans le forum Langage
    Réponses: 3
    Dernier message: 16/05/2007, 11h14
  4. Modification d'un script
    Par tom06440 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/09/2006, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo