div 跟着鼠标移动
2017-08-31 10:06
323 查看
DIV跟着鼠标移动
div跟着鼠标移动,主要是更加movemove确定当前鼠标的位置,然后计算当前的div的位置,由于div是绝对布局,不占用文档的空间,只根据父布局来动态的变化,由这个我们就可以处理了。创建一个跟着动的div,也可以使用动态创建div
<div style="background-color: red;width: 50;height:50px;position:absolute;left:0px;top:0px" id="mouse"> <span>跟着动</span> </div>
然后就是绑定鼠标移动的事件,这里还要计算一下滚动条的高度,这样就可以计算当前的移动div的left and top的值
<script type="text/javascript"> window.onload = function () { var div1 = document.getElementById("mouse"); function getXY(eve) { var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; return {x : scrollLeft + eve.clientX,y : scrollTop + eve.clientY }; } document.onmousemove = function (ev) { var oEvent = ev || event; var pos = getXY(oEvent); div1.style.left = pos.x + "px";; div1.style.top = pos.y + "px"; }; document.oncontextmenu = function(){return false}; //禁止鼠标右键菜单显示 document.onmouseup = function(e){ //在body里点击触发事件 if(e.button===2){ //如果button=1(鼠标中键),button=2(鼠标右键),button=0(规定鼠标左键) alert("点击右键") }else if(e.button === 1){ alert("点击了中键") }else if(e.button == 0){ alert("点击左键") } } }; </script>
代码
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>跟着鼠标移动</title>
<style type="text/css">
body {
width:2000px;
height:2000px;
}
</style>
<script type="text/javascript">
window.onload = function () {
var div1 = document.getElementById("mouse");
function getXY(eve) {
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
return {x : scrollLeft + eve.clientX,y : scrollTop + eve.clientY };
}
document.onmousemove = function (ev) {
var oEvent = ev || event;
var pos = getXY(oEvent);
div1.style.left = pos.x + "px";;
div1.style.top = pos.y + "px";
};
document.oncontextmenu = function(){return false}; //禁止鼠标右键菜单显示
document.onmouseup = function(e){ //在body里点击触发事件
if(e.button===2){ //如果button=1(鼠标中键),button=2(鼠标右键),button=0(规定鼠标左键)
alert("点击右键")
}else if(e.button === 1){
alert("点击了中键")
}else if(e.button == 0){
alert("点击左键")
}
}
};
</script>
</head>
<body>
<div style="background-color: red;width: 50;height:50px;position:absolute;left:0px;top:0px" id="mouse"> <span>跟着动</span> </div>
</body>
</html>
相关文章推荐
- Acticle 8:javascript运动:鼠标移动小特效||多个div跟着鼠标光标移动(也叫母鸡带小鸡)
- 跟着鼠标移动的动态DIV盒子插件
- JavaScript控制div的移动跟着鼠标一起移动div
- JS 让div跟着鼠标移动 以及悬浮层的制作
- Js实现div跟着鼠标的移动
- Js实现div跟着鼠标的移动
- 一串div跟着鼠标移动
- div随鼠标移动
- 鼠标移动div
- JQuery 跟着鼠标走的Div
- css实现随鼠标移动div渐变色效果
- 用鼠标画出可移动的div
- css实现 : 鼠标移动上去显示div,移开隐藏div
- 自定义view画圆跟着鼠标移动
- 鼠标拖动div,div跟随鼠标移动效果
- jquery让div隐藏,显示,随着鼠标移动
- 鼠标拖动div移动
- 鼠标移动显示 div 图片 文字效果
- 鼠标移动到div,出现浮层显示明细,弹出层与div上边距与左边距重合的解决方案