欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端--鼠标跟随特效

程序员文章站 2022-05-28 21:49:02
...

鼠标跟随特效

个人原创,转载请注明出处

里面的内容涉及Element.setAttribute(),document.createElement(),document.createTextNode(),Element.appendChild(),onmousemove,document.getElementsByTagName,clientX,clientY,document.documentElement.scrollLeft(scrollTop),document.body.scrollLeft(scrollTop),for循环,length方法。

鼠标跟随的小特效,只要把js里的代码

aImg.setAttribute('src', '%E9%A3%9E%E4%BA%BA.jpg'); 里面的src值改回自己的本地图片地址就OK了。

如有不足之处还请指出!谢谢!

下面是展示效果:

前端--鼠标跟随特效前端--鼠标跟随特效
/***************************************HTML代码***************************************/
<!doctype html5>
<html>
<head>
<meta charset = "utf-8" />
<meta name = "keywords" content = "鼠标跟随" />
<title>鼠标跟随</title>
<link rel="stylesheet" href="鼠标跟随.css" />
</head>
<body>
<script src="鼠标跟随.js"></script>
</body>
</html>

/*****************CSS代码*****************************************************/

@charset "utf-8";
/* CSS Document */
body {
		margin: 0;
	    padding: 0;
	    height: 2000px;
	    width: 2000px;
}
img {
	  position: absolute;
}

/**************JAVASCRIPT***************************************************/

// JavaScript Document
var i;
for (i = 0; i < 70; i++)	//创建50个img元素并设置src属性
{
	var aImg = document.createElement('img');			//创建img
	aImg.setAttribute('src', '%E9%A3%9E%E4%BA%BA.jpg');	//设置src
	aImg.setAttribute('width', '100px');
	aImg.setAttribute('height', '100px');
	document.body.appendChild(aImg);					//插入到body中
}
document.onmousemove = function (ev)		//鼠标移动触发事件
{
	var oEvent = ev || event;	//ev为系统传进来的事件对象
	var oImg = document.getElementsByTagName('img');	//获取img元素个数
	var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;							//可视区左边界至整个页面左边界的距离
	var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;							//可视区顶部至整个页面的距离顶部
	var j;						
	for (j = oImg.length - 1; j > 0; j--)	//从最后一个开始循环,后一个img的left和top等于前一个img的left和top
	{
		oImg[j].style.left = oImg[j - 1].offsetLeft + 'px';
		oImg[j].style.top = oImg[j - 1].offsetTop + 'px';
	}
	//第一个img的left和top等于鼠标的坐标值加上网页被卷的距离
	oImg[0].style.left = oEvent.clientX + scrollLeft + 'px';
	oImg[0].style.top = oEvent.clientY + scrollTop + 'px';
};