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与函数式编程解释
Apr 27 Javascript
javascript实现简单的进度条
Jul 02 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
Jul 26 Javascript
JS实现兼容性较好的随屏滚动效果
Nov 09 Javascript
整理Javascript基础入门学习笔记
Nov 29 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
Sep 14 Javascript
浅析bootstrap原理及优缺点
Mar 19 Javascript
uploader秒传图片到服务器完整代码
Apr 22 Javascript
使用axios实现上传图片进度条功能
Dec 21 Javascript
在vue项目中安装使用Mint-UI的方法
Dec 27 Javascript
解决layui的input独占一行的问题
Sep 10 Javascript
JavaScript 接口原理与用法实例详解
May 12 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的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
PHP中鲜为人知的10个函数
2014/02/28 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
2016/06/30 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
jQuery+jRange实现滑动选取数值范围特效
2015/03/14 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
详解vue-cli3使用
2018/08/14 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
Python实现的简单算术游戏实例
2015/05/26 Python
Python实现随机漫步功能
2018/07/09 Python
Python 类的魔法属性用法实例分析
2019/11/21 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
大课间体育活动方案
2014/03/12 职场文书
企业消防安全责任书
2014/07/23 职场文书
致运动员赞词
2015/07/22 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers