本文通过JavaScript代码演示了如何实现DIV元素跟随鼠标移动的效果。内容涵盖单个DIV的实时位置追踪以及多个DIV组成的拖尾动画效果,提供了完整的HTML与JS实现细节,供前端开发参考。
JavaScript实现DIV跟随鼠标移动及多元素拖尾效果
本文分享了使用JavaScript实现DIV跟随鼠标移动的具体代码,供读者参考。
首先介绍单个DIV跟随鼠标移动的实现方式,相关代码如下。
JavaScript实现单个DIV跟随鼠标移动
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
window.onload = function () {
var div1 = document.getElementById('div1');
document.onmousemove = function (ev) {
//IE支持event,firefox不支持
var oEvent = ev || event;
//
var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
div1.style.top = oEvent.clientY + scrollTop + 'px'; //Y
div1.style.left = oEvent.clientX + scrollLeft + 'px';//X
};
};
</script>
</head>
<body>
<div id="div1" style="width: 10px; height: 10px; background-color: blue; position: absolute;"></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</body>
</html>
接下来分享一组多个DIV跟随鼠标移动的示例代码。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<style type="text/css">
div {
width: 2px;
height: 2px;
background-color: red;
position: absolute;
}
</style>
<script type="text/javascript">
window.onload = function () {
var oDivs = document.getElementsByTagName('div');
document.onmousemove = function (ev) {
var oEvent = ev || event;
document.getElementsByTagName('span')[0].innerHTML = oEvent.clientY + '|' + oEvent.clientX;
for (var i = oDivs.length-1; i > 0; i--) {
oDivs[i].style.top = oDivs[i - 1].style.top;
oDivs[i].style.left = oDivs[i - 1].style.left;
}
oDivs[0].style.top = oEvent.clientY+'px';
oDivs[0].style.left = oEvent.clientX + 'px';
};
};
</script>
</head>
<body>
<span></span>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
以上内容为本文的全部分享,希望对读者的学习有所帮助。