JS写滑稽笑脸运动效果
更新时间:2020年05月28日 11:43:56 作者:mariner_zp
这篇文章主要介绍了JS写滑稽笑脸运动效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
效果演示:

(就这玩意儿,差点写崩了...)
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>滑稽笑脸运动</title>
<meta name="author" content="marinerzp">
<style>
*{padding: 0;margin: 0;}
html,body{
width: 100%;
height: 100%;
}
#main{
width: 100px;
height: 100px;
border-radius: 50%;
background:url(images/1.jpg) 0 0/100px 100px;
position: absolute;
left: 0;
top: 0;
z-index: 3;
}
.show{
width: 50px;
height: 50px;
border-radius: 50%;
background-color: rgb(239, 187, 101);
position: absolute;
animation: disappear 1.2s ;
animation-fill-mode: forwards;
}
@keyframes disappear{
0%{
opacity: 1;
transform:scale(1);
}
100%{
opacity: 0;
transform:scale(0);
}
}
</style>
</head>
<body>
<div id="main">
</div>
<script>
let Omain=document.querySelector('#main');
let MaxLeft=window.innerWidth-Omain.offsetWidth;
let MaxTop=window.innerHeight-Omain.offsetHeight;
window.οnresize=function(){//监听窗口大小改变事件
MaxLeft=window.innerWidth-Omain.offsetWidth;
MaxTop=window.innerHeight-Omain.offsetHeight;
};
/*
水平方向上:以向右为正方向
竖直方向上:以向下为正方向
*/
let Vx=6;//3px/s
let Vy=9;//4px/s
let X=0,Y=0;
~~function move(){
X+=Vx;
Y+=Vy;
if (Y>=MaxTop) {
Y=MaxTop;
Vy=-Vy;
}
if (Y<=0) {
Y=0;
Vy=-Vy;
}
if (X>=MaxLeft) {
X=MaxLeft;
Vx=-Vx;
}
if (X<=0) {
X=0;
Vx=-Vx;
}
Omain.style.left=`${X}px`;
Omain.style.top=`${Y}px`;
createTail(X,Y);//生成拖尾
requestAnimationFrame(move);
}();
function createTail(X,Y){
let node=document.createElement('p');
node.classList.add('show');
node.style.cssText=`left:${X+20}px;top:${Y+20}px`;
document.body.appendChild(node);
setTimeout(()=>{
document.body.removeChild(node);
node=null;
},1200);
}
</script>
</body>
</html>
总结
到此这篇关于JS写滑稽笑脸运动效果的文章就介绍到这了,更多相关js 滑稽笑脸内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
javascript当中的代码嗅探扩展原生对象和原型(prototype)
如果不是有特殊需要而去扩展原生对象和原型(prototype)的做法是不好的,除非这样做是值得的,例如,向一些旧的浏览器中添加一些ECMAScript5中的方法2013-01-01
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
这篇文章主要介绍了JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件的相关资料,需要的朋友可以参考下2016-10-10
@ResponseBody 和 @RequestBody 注解的区别
这篇文章主要介绍了@ResponseBody 和 @RequestBody 注解的区别的相关资料,需要的朋友可以参考下2017-03-03


最新评论