react抛物线小球实现
.ballFather{ position: absolute; width: 15px; height: 15px; border-radius: 50%; transition: all 0.5s cubic-bezier(0.52, -0.3, 0.93, 0.54); z-index:; } .ballSon{ width: 15px; height: 15px; background: #3190e8; border-radius: 50%; transition:all 0.5s linear; }
import React, { Component } from "react"; import { connect } from "isomorphism-sdk"; import styled, { keyframes, css } from "styled-components"; import {Track,Button} from '@components' const Wrap = styled.div` text-align:center; color:green; `; const Btn = styled.div` position:fixed; bottom:0; left:0; height:100px; width:100vw; line-height:100px; text-align:center; background:pink; ` const Ball = styled.div` height:20px; width:20px; background:red; ` const BigBox= styled.div` height:68px; border:1px solid blue; margin-bottom:40px; text-align:left; ` const SmallBox = styled.span` display:inline-block; height:50px; width:160px; background:grey; ` const TheBall={ newBall(event,target){ let div=document.createElement('div'); div.className='ballFather'; document.body.appendChild(div); let sonDiv=document.createElement('div'); sonDiv.className='ballSon' div.appendChild(sonDiv); let top=event.target.getBoundingClientRect().top; let left=event.target.getBoundingClientRect().left; div.style.left=left+'px'; div.style.top=top+'px'; let y = (document.documentElement.clientHeight - top +100);//加100是为了防止掉不下去 let x = (document.documentElement.clientWidth+7.5-left) // debugger div.style.display =''; const clientWidth = document.documentElement.clientWidth; const clientHeight = document.documentElement.clientHeight; div.style.transform = `translate3d(0,${y}px,0)`; sonDiv.style.transform = `translate3d(${x/2}px,0,0)`; setTimeout(()=>{ document.body.removeChild(div); },500) } } class App extends Component { constructor(props) { super(props); this.state = { aaa:false }; } aaa = (event) =>{ TheBall.newBall(event,target) console.log(123) } render() { const { activity } = this.props; return ( <Wrap> <BigBox> <SmallBox onClick={this.aaa.bind(this,{x:375,y:-50})}> 123</SmallBox> </BigBox> <BigBox> <SmallBox onClick={this.aaa.bind(this)}>0</SmallBox> </BigBox> <BigBox></BigBox> { /** <Track type='click' id='12671'> <Button onClick={this.aaa.bind(this)}>我是一号</Button> </Track> <Track> <Button onClick={this.aaa}>我是二号</Button> </Track> <Track> <Button>我是三号</Button> </Track> <Button>我是死号</Button> **/ } <Btn className='abs'>O</Btn> </Wrap> ); } } export default connect(({ location, activity }, tasks) => { return { location, activity }; })(App);
react抛物线小球实现的更多相关文章
- React-简单通用的抛物线动画
一个简单通用的 React 抛物线动画demo Usage import { parabola } from "./parabola" ... onAnimate = () =&g ...
- 【vue】饿了么项目-goods商品列表页开发
1.flex 属性是 flex-grow.flex-shrink 和 flex-basis 属性的简写属性. flex-grow 一个数字,规定项目将相对于其他灵活的项目进行扩展的量. flex-sh ...
- Vue实现购物小球抛物线
.shop{ position: fixed; top: 300px; left: 40px; } .ball{ position: fixed; left: 32px; bottom: 22px; ...
- vue 2.0 购物车小球抛物线
备注:此项目模仿 饿了吗.我用的是最新的Vue, 视频上的一些写法已经被废弃了. 布局代码 <div class="ball-container"> <trans ...
- 小tips:用java模拟小球做抛物线运动
这几天刚刚学习了java线程,然后跟着书做了几个关于线程的练习,其中有一个练习题是小球动起来.这个相信很简单,只要运用线程就轻松能够实现.然后看到了它的一个课后思考题,怎样让小球做个抛物线运动,这点我 ...
- js 抛物线 笔记备份
var funParabola = function(element, target, options) { /* * 网页模拟现实需要一个比例尺 * 如果按照1像素就是1米来算,显然不合适,因为页面 ...
- Vue.JS React 精彩文章汇总
JavaScript深入系列 [干货] JavaScript数组所有API全解密 [干货] 移动端:页面->手淘互动动效的探索 - IT大咖说 - 大咖干货,不再错过 [扫盲] Jonath ...
- Vue实现购物车小球动画
思路: 1.因页面分组件分的比较细,由图可知是组件5到组件4的联动. 如果利用组件间通信需要 子组件5 -->组件3-->所有组件的父组件-->组件4, 层级略显复杂,所以使用了vu ...
- canvas抛物线运动轨迹
本来是想做一个贝塞尔曲线运动轨迹的 公式太复杂了,懒得算,公式在最后 我先画了一个抛物线,我确定了两个点,起点(0,0),终点(200,200) 用坐标系可算出方程 y=-0.005x^2 现在找出终 ...
随机推荐
- CPU、GPU、CUDA、cuDNN
CPU擅长逻辑处理控制,GPU适合高强度的并行计算任务,为什么会存在这种差别?今天搜集了些相关资料,摘抄总结如下. 一.什么是GPU GPU这个概念是由Nvidia公司于1999年提出的.GPU是显卡 ...
- h5属性直接控制上传文件类型
和公司前端交互的时候发现我在选择上传文件的时候只能选择图片,其他类型,text,doc等等等等全部无法选择 仔细查看了下代码,发现归功于H5新增(??没查到资料,不确定是不是H5的)的input属性 ...
- 初学python类编的一个求矩形小程序
简单的程序不简单,里面包含类定义类,传参,初始化,方法调用,创建实例,格式输出.主要在python中随时定义变量随时用,我这道题题想好久就是我初识类,传参,不是所有参数都的加单引号.简单的东西,复杂话 ...
- java读取各种类型文件
用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-dev.jar/lucene ...
- DCOMP——分散式计算
新型网络DCOMP 据国外媒体2017年11月7日报道,曾经发明互联网的秘密机构“美国国防部高级研究计划局(DARPA)”如今正致力于研发能够完胜互联网的新网络,并且启动了一项链接物联网.智能手机.智 ...
- Java面试题之多线程打印
概述 作为程序员经常在面试的时候遇到多线程的问题,我印象比较深刻的就是下面这道题:写两个线程,一个线程打印 1~52,另一个线程打印字母A-Z.打印顺序为12A34B56C……5152Z.看这个题目已 ...
- 成功使Linux服务端和Windows客户端建立socket通信
一.准备工作 1.一台装有虚拟机的Windows7操作系统,虚拟机中装的是CentOS6.5版本的Linux 2.Windows7已经装有java环境 二.编码 使用java编写socket通信的服务 ...
- SQL求几何重心
ST_Centroid(geometry); geometry :a specified ST_Geometry e.g.: select ST_AsText(ST_Centroid('0103000 ...
- 使用LinkedList类生成一个集合对象,循环加入“小样1”,“小样2”,“小样3”,“小样4”,“小样5”……“小样100”。输出这个集合的大小。再使用循环删除这个集合中所有名字为偶数的对象,比如“小样6”,“小样100”,都是偶数名。最后:循环输出集合中所有的对象,看是否删除成功。
package com.lanxi.demo1_8; import java.util.Iterator; import java.util.LinkedList; public class Test ...
- Adobe Flash Player 29.0.0.140官方正式版
Adobe Flash Player 29 正式版例行更新,v29.0.0.140 这是最新详细版本号,Adobe采取和微软相似的更新策略,在每个月的第二个周二为产品发布安全更新.Adobe® Fla ...