Мне нужно, чтобы мои пользователи могли перемещать элемент от указателя мыши, удерживая левую кнопку вниз, и элемент должен двигаться ближе, когда кнопка вверх. До сих пор у меня есть это:Переместить в зависимости от состояния мыши
var divName = 'follow'; // div to follow mouse
// (must be position:absolute)
var offX = 0; // X distance from mouse
var offY = 0; // Y distance from mouse
function mouseX(evt) {
if (!evt) evt = window.event;
if (evt.pageX) return evt.pageX;
else if (evt.clientX) return evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
else return 0;
}
function mouseY(evt) {
if (!evt) evt = window.event;
if (evt.pageY) return evt.pageY;
else if (evt.clientY) return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
else return 0;
}
function follow(evt) {
if (document.getElementById) {
var obj = document.getElementById(divName).style;
obj.visibility = 'visible';
obj.left = (parseInt(mouseX(evt)) + offX) + 'px';
obj.top = (parseInt(mouseY(evt)) + offY) + 'px';
}
}
document.onmousemove = follow;
function discharge() { //Move away
offX += 1;
offY += 1;
}
function pull() { //Come closer
if (offX > 0) {
offX -= 1;
}
if (offY > 0) {
offY -= 1;
}
}
document.onmousedown = discharge;
document.onmouseup = pull;
offX
и offY
являются расстояние элемента от мыши. Кроме того, это всего лишь часть скрипта. offX
и offY
вступают в игру в другой части, которая работает, за исключением этого нажатия/вытягивания.
EDIT: Обновлено, чтобы включить весь файл и here - это скрипка.
Дополнительная информация: Моя основная цель состояла в том, чтобы изображение в пределах div следовало за мышью и двигалось ближе/дальше в зависимости от состояния мыши. Если у кого-то есть другой способ достичь этого, он также будет очень признателен.
Вы должны используйте offX + = 1 и offX - = 1 –