鼠标移动的气泡动画效果脚本

鼠标动画脚本

谁都想拥有一个自己写的一个脚本,作为小白的我写出了第一个自己的鼠标动画脚本样式✌ 。
(在下一篇的链接中有运用到.)
在这里插入图片描述
代码如下:

<body>
    <script src="js/xzx_mousemove.js"></script>
</body>
var body = document.getElementsByTagName("body")[0];
var bigdiv = document.createElement("div");
// 让超出部分隐藏不然会溢出滚动条
	body.style.margin = "0px";
	bigdiv.style.position = "absolute";
	bigdiv.style.left = "0";
	bigdiv.style.top = "0";
	bigdiv.style.overflow = "hidden";
	bigdiv.style.zIndex = "-999";
	bigdiv.style.margin = "0px";
	body.appendChild(bigdiv);
	//鼠标移动事件 移动就生成一个div
		window.onmousemove = function(e){
			bigdiv.style.width =  "100%";
			bigdiv.style.height = window.innerHeight + window.pageYOffset + "px";			
			var x = 0;
			var div = document.createElement("div");
			div.style.position = "absolute";
			div.style.left = e.clientX + window.pageXOffset + "px";			
			div.style.top = e.clientY + window.pageYOffset+"px";
			//生成的div运用定位改变位置为鼠标的位置
			div.style.border = "2px solid #155397";
			div.style.borderRadius = "50%";
			bigdiv.appendChild(div);
			//生成div后运用定时器给它不停增加大小和透明度
			var time = setInterval(function(){
				x += 5;				
				div.style.opacity = (50 - x)/50;
				div.style.width = (x + 10) + "px";
				div.style.height = (x + 10) + "px";
			},30);
			//在执行大概十次定时器之后运行延时定时器清除定时器和div
			setTimeout(function(){
				clearInterval(time);
				bigdiv.removeChild(div);
			},300)
		}

脚本要写在一个透明的遮罩层上,全部用js添加div和样式:

1.首先找到body,里面添加一个遮罩层,让遮罩层获得实时的页面实时的宽高,多出部分隐藏不然到时候后面鼠标滑倒边缘位置生成div会出现滚动条。

bigdiv.style.overflow = "hidden";

2.写鼠标移动事件onmousemove,在每次移动的时候通过e.clientX和e.clientY找到鼠标当前位置并生成一个圆(borderRadius=50%),赋予它基本的样式。

div.style.left = e.clientX + "px";
div.style.top = e.clientY + "px";

3.在生成圆之后设置一个定时器setInterval,让div定时匀速改变透明度和大小样起到圆形的渐变效果。

var time = setInterval(function(){
				x += 5;				
				div.style.opacity = (50 - x)/50;
				div.style.width = (x + 10) + "px";
				div.style.height = (x + 10) + "px";
			},30);

4.最后再设置一个执行10次定时器之后触发的延时定时器,让增长过后的圆形消失,清除定时器并删除生成的圆。

setTimeout(function(){
				clearInterval(time);
				bigdiv.removeChild(div);
			},300)

~~~~~~ end ~~~~~~

发布了23 篇原创文章 · 获赞 49 · 访问量 1481

猜你喜欢

转载自blog.csdn.net/weixin_44701229/article/details/103433620
今日推荐