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 :

drag and drop march pas sous firefox+joomla!


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut drag and drop march pas sous firefox+joomla!
    Bonjour,
    Je suis en train de développer un composant sous Joomla! pour classer les messages selon plusieurs catégories. Le problème est que j'utilise des div sur lesquels j'applique le drag and drop. Ca marche sous IE mais pas sous Firefox (enfin ça marche sous Firefox quand ce n'est pas intégré à Joomla!). Est-ce que qqn qui connait Joomla! aurait une idée du problème ?
    Voici le code:
    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
    <head> 
    <style type="text/css"> 
    .grand_div { margin-left: 0px; margin-top: 0px; width:100%; height:200px; border: 4px solid #eeeeee; background-color:#CCFFCC; } 
    .petit_div { position :relative; border-style:none; background-color:#00ced1; } 
    </style> 
    <script type="text/javascript"> 
    var ie=document.all; 
    var nn6=document.getElementById&&!document.all; 
    var isdrag=false; 
    var x,y; 
    var dobj; 
     
    function movemouse(e) { 
    if (isdrag) { 
    dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x; dobj.style.top = nn6 ? ty + e.clientY - y : ty + event.clientY - y; 
    return false; 
    } } 
     
    function getcoord (e){ isdrag=false; }
     
    function selectmouse(e) { 
    var fobj = nn6 ? e.target : event.srcElement; 
    var topelement = nn6 ? "HTML" : "BODY"; 
     
    while (fobj.tagName != topelement && fobj.className != "dragme") { 
    fobj = nn6 ? fobj.parentNode : fobj.parentElement; 
    } 
    if (fobj.className=="dragme") {
    isdrag = true; 
    dobj = fobj; 
    tx = parseInt(dobj.style.left+0); 
    ty = parseInt(dobj.style.top+0); 
    x = nn6 ? e.clientX : event.clientX; 
    y = nn6 ? e.clientY : event.clientY; 
    document.onmousemove=movemouse; 
    return false; 
    } } 
     
    document.onmousedown=selectmouse; 
    document.onmouseup=getcoord; 
    </script> 
     
    </head> 
    <form action="index.php?" method="post" name="adminForm" id="adminForm"> <div class=grand_div> 
    <?php 
    $array = array ( 
    "0"=>array ( "myDiv0", "200", "50", "80", "80" ), 
    "1"=>array ( "myDiv1", "200", "200", "80", "80" ), 
    "2"=>array ( "myDiv2", "300", "300", "80", "80" ) ); 
     
    foreach ($array as $row) { echo "<div class='petit_div' id=".$row[0]." style='position:absolute;top:".$row[1]."px;left:".$row[2]."px; background-color:#00ced1; border: 3px solid #00009C; width: ".$row[3]."px; height:".$row[4]."px; text-align:center;'> <br> ".$row[0]." </div>"; } 
    ?> 
    </div>
    Merci de votre aide !

  2. #2
    Membre habitué Avatar de gKsam
    Profil pro
    Inscrit en
    Août 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 166
    Points : 153
    Points
    153
    Par défaut Juste en regardant le code
    En fait j'ai juste regarder le code :

    la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x; dobj.style.top = nn6 ? ty + e.clientY - y : ty + event.clientY - y;
    changer par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dobj.style.left = nn6 ? tx + e.pageX - x : tx + event.clientX - x; dobj.style.top = nn6 ? ty + e.pageX - y : ty + event.clientY - y;
    et les lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x = nn6 ? e.clientX : event.clientX; 
    y = nn6 ? e.clientY : event.clientY;
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x = nn6 ? e.pageX : event.clientX; 
    y = nn6 ? e.pageY : event.clientY;
    comme ça a la louche...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Marche toujours pas
    J'ai essayé mais ça ne change rien du tout... C'est bizarre parce que mes div bougent un peu de quelques px puis plus possible. Est-ce que ce ne serait pas un problème dans le css avec les positions ??

Discussions similaires

  1. V1.3: drag and drop de fichiers sous Firefox
    Par mga_geo dans le forum IGN API Géoportail
    Réponses: 10
    Dernier message: 16/04/2012, 18h22
  2. fonction redimensionnement marche pas sous firefox
    Par calitom dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 11/09/2007, 14h39
  3. le ValidationSummary ASP ne marche pas sous Firefox
    Par hokidoki dans le forum ASP.NET
    Réponses: 15
    Dernier message: 16/08/2007, 10h30
  4. Drag and Drop - Comprend pas - Dernier recours
    Par Bardack dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 05/03/2007, 10h33
  5. Fonction qui ne marche pas sous FireFox
    Par Foudébois dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/11/2006, 14h35

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