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编程起步(第六课)
Feb 27 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 Javascript
JS判断元素是否在数组内的实现代码
Mar 30 Javascript
jQuery实现的自适应焦点图效果完整实例
Aug 24 Javascript
jQuery实现checkbox列表的全选、反选功能
Nov 24 Javascript
BootStrap3使用错误记录及解决办法
Dec 22 Javascript
webpack入门+react环境配置
Feb 08 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
May 17 Javascript
js实现日期显示的一些操作(实例讲解)
Jul 27 Javascript
node-sass安装失败的原因与解决方法
Sep 04 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
Apr 26 Javascript
JavaScript学习笔记之DOM基础操作实例小结
Jan 09 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实现当前页面点击下载文件的简单方法
2016/09/22 PHP
php 数据结构之链表队列
2017/10/17 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
Python中的字符串查找操作方法总结
2016/06/27 Python
Python实现一个简单的验证码程序
2017/11/03 Python
Python实现多属性排序的方法
2018/12/05 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
python中time库的实例使用方法
2019/10/31 Python
pycharm的python_stubs问题
2020/04/08 Python
python如何运行js语句
2020/09/09 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
浅析HTML5:'data-'属性的作用
2018/01/23 HTML / CSS
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
医院门卫岗位职责
2013/12/30 职场文书
小学教研工作制度
2014/01/15 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
小学一年级学生评语
2014/04/22 职场文书
学前班语言教学计划
2015/01/20 职场文书
售房协议书范本
2015/08/11 职场文书
Python中request的基本使用解决乱码问题
2022/04/12 Python