Сообщение от Apollo_440
|
cyber,
что-то да есть. Чем больше двигаю, тем больше лаги. Может где-то зациклена функция??? Потому что сначало все ок, а уж потом плохенько.
|
не первый мой drag and drop , до этого все ок получалось с ними , но первый на jQuery , короче вот код
смотрите сами
function init_drag (e) {
move = true;
var margin = getMargin();
downX = e.pageX + Math.abs(margin.left) - coord_elem.left;
downY = e.pageY + Math.abs(margin.top) - coord_elem.top;
$(document).on('mousemove', wrapper);
$(document).on('mouseup', MouseUp);
}
function wrapper(e) {
if (move) setTimeout(function (){
MouseMove(e);
},30);
}
function MouseMove (e) {
var left, top;
var pgX = e.pageX - coord_elem.left;
var pgY = e.pageY - coord_elem.top;
left = - (downX - pgX);
left = Math.min(left, 0);
left = Math.max(left, - (img.width() - elem.width()));
top = -(downY - pgY);
top = Math.min(top, 0);
top = Math.max(top, -(img.height() - elem.height()));
img.css({
'margin-top': top+ 'px',
'margin-left':left + 'px'
});
}
function MouseUp () {
move = false;
$(document).unbind('mousemove', wrapper);
$(document).on('mouseup', MouseUp);
}
function getMargin () {
var top = parseInt(img[0].style.marginTop);
var left = parseInt(img[0].style.marginLeft);
return {top: top, left: left};
}