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 相关文章推荐
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 Javascript
js实现身份证号码验证的简单实例
Feb 19 Javascript
javascript抽象工厂模式详细说明
Dec 16 Javascript
jquery实现兼容IE8的异步上传文件
Jun 15 Javascript
深入理解JavaScript程序中内存泄漏
Mar 17 Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 Javascript
搭建Bootstrap离线文档的方法
Dec 02 Javascript
手机端转换rem适应
Apr 01 Javascript
JS自动生成动态HTML验证码页面
Jun 14 Javascript
webpack4.x下babel的安装、配置及使用详解
Mar 07 Javascript
JS实现点餐自动选择框(案例分析)
Dec 10 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
提升PHP执行速度全攻略(上)
2006/10/09 PHP
php去除HTML标签实例
2013/11/06 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python编写电话薄实现增删改查功能
2016/05/07 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
Python引用计数操作示例
2018/08/23 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
python nmap实现端口扫描器教程
2020/05/28 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
用python批量移动文件
2021/01/14 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
家长会主持词
2014/03/26 职场文书
家长会学生演讲稿
2014/04/26 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
vue首次渲染全过程
2021/04/21 Vue.js
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS