js 面向对象方式 动画效果:花瓣雨
效果图:
说明:效果图片中的花瓣是图片,
代码如下:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>body{overflow: hidden;}</style>
</head><body><script>// 从a到b的随机数function ranDom(a, b) {var r = parseInt(Math.random() * (b - a + 1)) + a;return r;}// 构造函数function Girl(top, right) {this.top = top;this.right = right;// 创建的方法this.init = function () {// 创建节点, 节点的样式, 节点拼接this.dom = document.createElement('div');this.dom.style.cssText = `width: 30px; height: 30px; position: absolute; background: url(img/hb${ranDom(1, 3)}.png) no-repeat; background-position: 0px -2px;`;this.dom.style.top = this.top + 'px';this.dom.style.right = this.right + 'px';document.body.appendChild(this.dom);}// 移动的方法this.move = function () {// 此处的this为新创建的Girl对象, 把this保存一份(self), 在进入定时器内部再使用// console.log(this);var self = this;// 声明变量: 位置, 图片编码(0-7)var top = 0;var index = 0;// 定时器, top实时改变, index++this.timer = setInterval(function () {top += 5;index++;// 验收indexif (index > 7) index = 0;// 验收topif (top >= 1000) self.byebye();// 位置改变// console.log(this); // window// console.log(this.dom); // undefined// console.log(self); // Girl对象// console.log(self.dom); // divself.dom.style.top = top + 'px';// 图片切换// self.dom.style.backgroundPosition = -79 * index + 'px -216px';}, 50);}// 消失的方法this.byebye = function () {// 清除定时器clearInterval(this.timer);// 移除节点this.dom.remove();}this.init();this.move();}setInterval(() => {new Girl(0, ranDom(100, 900));new Girl(0, ranDom(100, 900));new Girl(0, ranDom(100, 900));new Girl(0, ranDom(100, 900));}, 1000)setInterval(() => {new Girl(0, ranDom(100, 900));new Girl(0, ranDom(100, 900));}, 1500)setInterval(() => {new Girl(0, ranDom(500, 1200));new Girl(0, ranDom(500, 1200));}, 2000)</script>
</body></html>
js 面向对象方式 动画效果:花瓣雨相关推荐
- html翻牌动画效果,js+css3翻牌动画效果
这是一款js+css3翻牌动画效果,界面设计感不错的,喜欢可以下载哦温馨提示不兼容IE6,7,8浏览器. 查看演示 下载资源: 16 次 下载资源 下载积分: 20 积分 function () { ...
- 使用JS代码编写动画效果
使用JS代码编写动画效果 下面展示一些 JS代码. 创建一个可以简单移动的动画函数//obj 要执行动画的对象// attr 想要变化的方向或大小 如width top left//target 目标 ...
- js修改display_Vue.js从零开始——过渡 / 动画效果(2)
题图是2013年在 OSRAM 的顶层拍的远景,能看到慕尼黑的高楼大厦不算多,远近也就看到4栋,左上的富士通,右侧远处的奥林匹克公园的高塔还有宝马大厦,最远处的那一栋我不知道是哪里了--这是因为不在老 ...
- JS实现倒计时动画效果
js通过Date对象实现倒计时效果 <!DOCTYPE html> <html lang="en"> <head><meta charse ...
- js面向对象(萤火虫效果)
使用面向对象的方法实现一个萤火虫的效果. 页面样式,bg.jpg是一张动图,使用的是jQuery. <!DOCTYPE html> <html><head>< ...
- react中react-custom-scrollbars返回顶部功能,如何使其有平滑动画效果;原生js scroll平滑动画效果
1.Scrollbars是react-custom-scrollbars插件暴露出来的组件 scrollRef.current.view.scroll({top: 0,left: 0,behavior ...
- js实现玫瑰动画效果
目标: 使用canva和js实现玫瑰的动画. 代码: <!doctype html> <html><head><title>红玫瑰</title& ...
- D3.js实现带动画效果的柱状图
先上效果图,如下图所示: <!DOCTYPE html> <html lang="zh-cn"><head><meta charset=& ...
- vue + Three.js实现3d动画效果
1.安装依赖 // 引入three.js相关插件npm install three --save// 安装轨道控件插件// npm install three-orbit-controls//安装加载 ...
最新文章
- Parse error. Expected a command name
- python 加载与解析xml
- 详解js中typeof、instanceof与constructor
- Spring security (一)架构框架-Component、Service、Filter分析
- Java 并发系列之十一:并发线程带来的风险
- 想知道你能不能挣到大钱吗?
- 获取当前网页的绝对URL地址
- http 报文格式、状态码
- Visual C++网络编程经典案例详解 第5章 网页浏览器 CHtmlView类 实现查看源文件功能步骤
- win10笔记本插上耳机没声音设置
- vscode翻译插件最佳搭配、翻译变量、划词翻译、中译英(提高生产效率)
- 《GC篇》七、GC 调优(实战篇)
- Vue2到Vue3实战必备技能(一)
- set在MATLAB中什么意思,matlab中set函数怎么用,具体的,中文的?
- nginx.conf配置文件说明
- 减盐不减味,乌江榨菜掀起轻盐升级革命
- 【转载】新一代ESD保护器件不再需要VCC连接
- 用产品思维设计API(三)——版本控制,没有你想的这么简单
- Mac m1配置MAMP+PHPStorm环境
- Photoshop CS6切图
热门文章
- android 点对点 通信,将 WLAN 直连(点对点)用于服务发现
- 【云星数据---Scala实战系列(精品版)】:Scala入门教程061-Scala实战源码-Scala包引用的语法
- java redis 管道_4个点让你彻底明白Redis的各项功能
- 域控禁用计算机网络,AD之:计算机加域、禁用、退域
- Intel GMA500显卡硬解码VAAPI
- 关于是由Microsoft Edge插件newbingogo实现gpt功能
- cas-ESM 安装教程
- 会议模板 Enter file name 无法生成pdf
- FPGA实现图像二值形态学滤波——腐蚀膨胀
- java构造器(构造方法、构造函数)(精炼而详细)