J'ai ce code qui entraîne parfaitement les choses dans IE - cependant, dans firefox, le glissement onmousedown de l'objet ne traîne pas immédiatement mais montre le curseur de non-entrée et ensuite, après onmouseup, l'objet se déplace librement. L'objet arrête de drager sur le prochain surmouseup. L'objet doit uniquement glisser dans l'état onmousdown, tandis que l'appel onmousup doit annuler le glisser en faisant j_OK = 0. Je pense qu'il peut avoir quelque chose à voir avec l'image à l'intérieur ...Problème de délai de glissement d'objet
l'objet:
<em style=position:absolute;left:0;top:0;width:32;height:32;display:block>
< img src=abc.gif onmousedown=P_MV(this.parentNode) style=position:absolute;left:0;top:0;width:inherit>
</em>
function P_MV(t)
{
p_E=t
j_oy=parseInt(p_E.style.top)
j_ox=parseInt(p_E.style.left)
j_OK=1
document.onselectstart=function(){return false}
document.onmousemove=P_MVy
}
function P_MVy(e)
{
if(j_OK)
{
p_E.style.top=(j_FF?e.clientY:event.clientY)-j_y+j_oy
p_E.style.left=(j_FF?e.clientX:event.clientX)-j_x+j_ox
}
return false
}
Le code ressemble il est sorti d'un obfuscater ... Par ailleurs, il est une bonne pratique de code pour coller une fin de déclaration virgule, même si JavaScript ne nécessite pas [ cela rend votre code plus clair] ... De plus, lorsque vous définissez un attribut d'un élément html dans le code, placez un guillemet autour de celui-ci pour maintenir la lisibilité> _ < – Warty
j_y et j_x ne sont jamais définis dans votre code? BTW, P_MV me fait penser à p = mv ... [momentum] – Warty
@ItzWarty: Non seulement l'ajout de points-virgules rend votre code plus propre, mais il empêche le code de se foirer lorsqu'il est minifié. – Robusto