2012-01-19 18 views
9

HTML5 için sürükle-bırak örnekleri/öğreticiler arıyordum, ancak bunların hepsi şu ana kadar sürüklenen ve herhangi bir eksene sınırlanmayan bir nesne içeriyor. Asıl nesnenin kendisinin bir hayaletinin karşıtı olarak sürüklenip sürüklenemediğini ve X veya Y eksenine sınırlayabileceğimin mümkün olup olmadığını merak ediyordum.HTML5: X ekseni üzerinde sürükleme/bırakma yok mu?

Teşekkürler!

cevap

17

Evet, kolayca, kendiniz yazarak.

elem.onmousedown = function(e) { 
    e = e || window.event; 
    var start = 0, diff = 0; 
    if(e.pageX) start = e.pageX; 
    else if(e.clientX) start = e.clientX; 

    elem.style.position = 'relative'; 
    document.body.onmousemove = function(e) { 
     e = e || window.event; 
     var end = 0; 
     if(e.pageX) end = e.pageX; 
     else if(e.clientX) end = e.clientX; 

     diff = end-start; 
     elem.style.left = diff+"px"; 
    }; 
    document.body.onmouseup = function() { 
     // do something with the action here 
     // elem has been moved by diff pixels in the X axis 
     elem.style.position = 'static'; 
     document.body.onmousemove = document.body.onmouseup = null; 
    }; 
} 
+0

Vay harika! Çok teşekkür ederim! – Sam

+0

'Ev' 'e' olması gerektiği gibi görünüyor? Evt.pageX ve evt.clientX'de olduğu gibi. – bloodyKnuckles

+2

Örneğin: https://jsfiddle.net/BloodyKnuckles/jubdc68s/ – bloodyKnuckles

İlgili konular