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 现在找出终 ...
随机推荐
- Android开发笔记---adb命令
adb命令的使用: adb shell命令:pm list packages -f:显示包名称及相应的APK文件
- c#实现数据库的备份
在.NET开发后天管理系统的时候,数据库的备份功能是必须实现的一块,而在数据库备份方面一句sql语句就可以搞定了,那就是<Backup Database 数据库名To disk='路径\数据库备 ...
- java实现二维码的生成.
目录 1.二维码概念 2.二维码发展历史 3.二维码分类 4.二维码优缺点 5.QR Code 1.二维码又称 二维条码 (2-dimensional bar code)是用某种特定的几何 ...
- Java 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
import java.util.Scanner; /** *有一对兔子,从出生后第3个月起每个月都生一对兔子, *小兔子长到第三个月后每个月又生一对兔子,假如兔子 *都不死,问每个月的兔子总数为多少 ...
- Oralce数据库的优化
Oralce数据库的优化(面试必问) (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 ...
- POJ - 3264——Balanced Lineup(入门线段树)
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 68466 Accepted: 31752 ...
- nginx之location的匹配规则
nginx之location的匹配规则 一.语法规则 location [=|~|~*|^~] /uri/ { - } 符号 含义 = 开头表示精确匹配 ^~ 开头表示 uri 以某个常规字符串开头 ...
- 常用的settings.xml文件
<?xml version="1.0"?> <settings> <localRepository>/Users/bernie.cx/.m2/r ...
- css实现标题左右横线
最近用到了记录一下 页面 <div class="subtitle"> 马上邀请好友得奖励 </div> 样式 .subtitle { position: ...
- dubbo入门学习笔记之环境准备
粗略的学完springcloud后由于公司的项目有用到一点dubbo,刚好手头上又有dubbo的学习资料,于是趁机相对系统的学了下duboo框架,今天开始记录下我的所学所悟;说来惭愧,今年之前,作为一 ...