用js控制div跟随鼠标移动,鼠标点击后,鼠标离开,div留在当前点击的位置怎么做

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用js控制div跟随鼠标移动,鼠标点击后,鼠标离开,div留在当前点击的位置怎么做相关的知识,希望对你有一定的参考价值。

var drag_ = false
var D = new Function('obj', 'return document.getElementById(obj);')
var oevent = new Function('e', 'if (!e) e = window.event;return e')
function Move_obj(obj)
var x, y;
D(obj).onmousedown = function (e)
drag_ = true;
with (this)
style.position = "absolute"; var temp1 = offsetLeft; var temp2 = offsetTop;
x = oevent(e).clientX; y = oevent(e).clientY;
document.onmousemove = function (e)
if (!drag_) return false;
with (this)
style.left = temp1 + oevent(e).clientX - x + "px";
style.top = temp2 + oevent(e).clientY - y + "px";



document.onmouseup = new Function("drag_=false");



<div onmousedown="Move_obj(this.id)" id="dd" style="width:100px;height:100px;background:red"></div>

如果需要以后都留在此位置,需把当前位置的坐标保存到数据库,下次打开时读取数据加载div追问

这是鼠标拖动效果,
我想要的是div跟随鼠标移动,单击后,鼠标离开,div不再跟随移动,div停留在鼠标单击的位置,鼠标可以随意移动

追答

差不多吧,你拖运到你想要的位置之后鼠标放开就行了

差不多吧,你拖运到你想要的位置之后鼠标放开就行了

参考技术A <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box
width: 100px;
height: 100px;
background-color: skyblue;
position: absolute;

</style>
<script type="text/javascript">
window.onload = function()

var box = document.getElementById("box");

var move = function(event)
var x = event.pageX;
var y = event.pageY;

box.style.left = x - 0.5*box.offsetWidth + "px";
box.style.top = y - 0.5*box.offsetHeight + "px";



box.onclick = function()
document.onmousemove = null;


box.ondblclick = function()
document.onmousemove = move;


document.onmousemove = move;

</script>
</head>
<body>
<div id="box"></div>
</body>
</html>

一组div跟随鼠标移动,反应鼠标轨迹

<!DOCTYPE html>
<html>
<head>
	<title>div随鼠标移动</title>
	<style type="text/css">
		.ins{
			background:green;
			width:10px;
			height:10px;
			position:absolute;
			border-radius:10px;
		}
	</style>
</head>
<body>
   <div class="container"></div>
</body>
<script type="text/javascript">

function getElementByClassName(classnames){   
    var objArray= new Array();//定义返回对象数组  
    var tags=document.getElementsByTagName("*");//获取页面所有元素  
    var index = 0;  
    for(var i in tags){  
        if(tags[i].nodeType==1){  
            if(tags[i].getAttribute("class") == classnames){ //如果某元素的class值为所需要  
                objArray[index]=tags[i];  
                index++;  
            }   
        }   
    }   
    return objArray;  
}  

	for(var i=0;i<50;i++){
		var div=document.createElement("div");
		div.setAttribute("class","ins");
		var container=getElementByClassName("container");
		container[0].append(div);
	}
     
    divs=getElementByClassName("ins");
    console.log(divs.length);
    document.onmousemove=function(ev){
         var oEvent=ev||event;
	    for(var i=divs.length-1;i>0;i--){
	    	divs[i].style.left=divs[i-1].style.left;
	    	divs[i].style.top=divs[i-1].style.top;
	    }
	    divs[0].style.left=oEvent.clientX+"px";
		divs[0].style.top=oEvent.clientY+"px";
    }
    	

</script>
</html>

  

以上是关于用js控制div跟随鼠标移动,鼠标点击后,鼠标离开,div留在当前点击的位置怎么做的主要内容,如果未能解决你的问题,请参考以下文章

JS实现跟随鼠标移动的div,和一串跟随鼠标的div,鼠标移入移出实现图片的颜色淡入淡出

用js怎么判断鼠标在某一个div上的停留时间?

新人求教unity 2d 物体跟随鼠标移动的问题

js 鼠标移入触发事件。多次触发。

用js怎么判断鼠标在div上的停留时间?

JS笔记 div跟随鼠标移动案列