JS写滑稽笑脸运动效果


Posted in Javascript onMay 28, 2020

效果演示:

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 相关文章推荐
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
Apr 20 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
Apr 05 Javascript
基于jquery的用鼠标画出可移动的div
Sep 06 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
Apr 24 Javascript
在表单提交前进行验证的几种方式整理
Jul 31 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 Javascript
JavaScript动态设置div的样式的方法
Dec 26 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
Jan 22 Javascript
详解vue数据渲染出现闪烁问题
Jun 29 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
Jun 11 Javascript
Node.js 深度调试方法解析
Jul 28 Javascript
关于Javascript闭包与应用的详解
Apr 22 Javascript
Python版实现微信公众号扫码登陆
May 28 #Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
May 28 #Javascript
原生js实现五子棋游戏
May 28 #Javascript
Vue微信公众号网页分享的示例代码
May 28 #Javascript
纯JS实现五子棋游戏
May 28 #Javascript
js实现简单五子棋游戏
May 28 #Javascript
js实现双人五子棋小游戏
May 28 #Javascript
You might like
DC最新动画电影:《战争之子》为何内容偏激,毁了一个不错的漫画
2020/04/09 欧美动漫
BBS(php &amp; mysql)完整版(三)
2006/10/09 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
javascript如何写热点图
2015/12/08 Javascript
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
python实现画圆功能
2018/01/25 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
python按照多个条件排序的方法
2019/02/08 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
中专毕业生自我鉴定
2013/11/21 职场文书
批评与自我批评材料
2014/02/15 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
股指期货心得体会
2014/09/10 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
法学专业求职信范文
2015/03/19 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
辩论会主持词
2015/07/03 职场文书