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 相关文章推荐
JQury slideToggle闪烁问题及解决办法
Jul 05 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
Sep 20 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
JavaScript实现查找字符串中第一个不重复的字符
Dec 29 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
用jQuery的AJax实现异步访问、异步加载
Nov 02 Javascript
easyui combobox开启搜索自动完成功能的实例代码
Nov 08 Javascript
你有必要知道的10个JavaScript难点
Jul 25 Javascript
Angular2 http jsonp的实例详解
Aug 31 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
May 28 Javascript
Vue不能观察到数组length的变化
Jun 08 Javascript
详解如何在Javascript中使用Object.freeze()
Oct 18 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的日期与时间函数技巧
2008/04/24 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
Javascript模板技术
2007/04/27 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
vue.js中过滤器的使用教程
2017/06/08 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
Python编写一个优美的下载器
2018/04/15 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
python将数组n等分的实例
2019/12/02 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
Python中的__init__作用是什么
2020/06/09 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
UDP协议功能
2013/01/06 面试题
好矿嫂事迹材料
2014/01/21 职场文书