用js控制div跟随鼠标移动,鼠标点击后,鼠标离开,div留在当前点击的位置怎么做
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用js控制div跟随鼠标移动,鼠标点击后,鼠标离开,div留在当前点击的位置怎么做相关的知识,希望对你有一定的参考价值。
var drag_ = falsevar 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留在当前点击的位置怎么做的主要内容,如果未能解决你的问题,请参考以下文章