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 相关文章推荐
又一个小巧的图片预加载类
May 05 Javascript
基于JavaScript实现定时跳转到指定页面
Jan 01 Javascript
js在ie下打开对话窗口的方法小结
Oct 24 Javascript
jQuery Easyui 下拉树组件combotree
Dec 16 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
May 25 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
May 10 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
Nov 21 Javascript
JavaScript forEach中return失效问题解决方案
Jun 01 Javascript
Postman参数化实现过程及原理解析
Aug 13 Javascript
react 路由Link配置详解
Nov 11 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模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
基于empty函数的判断详解
2013/06/17 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
js隐式转换的知识实例讲解
2018/09/28 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
vue 开发之路由配置方法详解
2019/12/02 Javascript
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python中方法链的使用方法
2016/02/23 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
python爬虫基础之urllib的使用
2020/12/31 Python
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
日语翻译个人求职的自我评价
2013/10/14 职场文书
大学生收银员求职信分享
2014/01/02 职场文书
社团招新策划书
2014/02/04 职场文书
《去年的树》教学反思
2014/04/11 职场文书
幼儿园评语大全
2014/04/17 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
导师工作推荐信
2015/03/27 职场文书
联谊会开场白
2015/06/01 职场文书
预备党员介绍人意见
2015/06/01 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书