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 相关文章推荐
jQuery1.4.2与老版本json格式兼容的解决方法
Feb 12 Javascript
js 中{},[]中括号,大括号使用详解
May 12 Javascript
理清apply(),call()的区别和关系
Aug 14 Javascript
jquery实现简单的无缝滚动
Apr 15 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
May 03 Javascript
BootStrap制作导航条实例代码
May 06 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
JS html时钟制作代码分享
Mar 03 Javascript
详解angular ui-grid之过滤器设置
Jun 07 Javascript
微信小程序使用map组件实现解析经纬度功能示例
Jan 22 Javascript
基于node简单实现RSA加解密的方法步骤
Mar 21 Javascript
Vue使用lodop实现打印小结
Jul 06 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
常用PHP框架功能对照表
2014/10/23 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
关于使用js算总价的问题
2017/06/23 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
Python中datetime模块参考手册
2017/01/13 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
在Python中COM口的调用方法
2019/07/03 Python
Python缓存技术实现过程详解
2019/09/25 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
python实现微信打飞机游戏
2020/03/24 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
乌克兰在线药房:Аптека24
2019/10/30 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
大学生职业生涯规划范文
2013/12/31 职场文书
人事助理自荐信
2014/02/02 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL