.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抛物线小球实现的更多相关文章

  1. React-简单通用的抛物线动画

    一个简单通用的 React 抛物线动画demo Usage import { parabola } from "./parabola" ... onAnimate = () =&g ...

  2. 【vue】饿了么项目-goods商品列表页开发

    1.flex 属性是 flex-grow.flex-shrink 和 flex-basis 属性的简写属性. flex-grow 一个数字,规定项目将相对于其他灵活的项目进行扩展的量. flex-sh ...

  3. Vue实现购物小球抛物线

    .shop{ position: fixed; top: 300px; left: 40px; } .ball{ position: fixed; left: 32px; bottom: 22px; ...

  4. vue 2.0 购物车小球抛物线

    备注:此项目模仿 饿了吗.我用的是最新的Vue, 视频上的一些写法已经被废弃了. 布局代码 <div class="ball-container"> <trans ...

  5. 小tips:用java模拟小球做抛物线运动

    这几天刚刚学习了java线程,然后跟着书做了几个关于线程的练习,其中有一个练习题是小球动起来.这个相信很简单,只要运用线程就轻松能够实现.然后看到了它的一个课后思考题,怎样让小球做个抛物线运动,这点我 ...

  6. js 抛物线 笔记备份

    var funParabola = function(element, target, options) { /* * 网页模拟现实需要一个比例尺 * 如果按照1像素就是1米来算,显然不合适,因为页面 ...

  7. Vue.JS React 精彩文章汇总

    JavaScript深入系列  [干货] JavaScript数组所有API全解密  [干货] 移动端:页面->手淘互动动效的探索 - IT大咖说 - 大咖干货,不再错过 [扫盲] Jonath ...

  8. Vue实现购物车小球动画

    思路: 1.因页面分组件分的比较细,由图可知是组件5到组件4的联动. 如果利用组件间通信需要 子组件5 -->组件3-->所有组件的父组件-->组件4, 层级略显复杂,所以使用了vu ...

  9. canvas抛物线运动轨迹

    本来是想做一个贝塞尔曲线运动轨迹的 公式太复杂了,懒得算,公式在最后 我先画了一个抛物线,我确定了两个点,起点(0,0),终点(200,200) 用坐标系可算出方程 y=-0.005x^2 现在找出终 ...

随机推荐

  1. windows硬盘优化篇

    1.数据收集(默认的族分配为4096 bytes.最好只使用第一次的计算结果,以后再运算值会一直增加.计算软件“Cluster Size Calculator”) ------------系统为w7 ...

  2. 关于ajax的跨域

    在前端开发中,跨域是经常遇到的问题,也是面试最喜欢问的问题,究其根本原因,是浏览器的同源策略所致,是浏览器为了避免不同域名不能共享cookie以及locationstorage等等,发起请求的时候无法 ...

  3. 构建web应用之——maven创建以及SpringMVC配置

    构建web应用第一步需要创建以及配置maven项目管理,同时配置启动SpringMVC,这里推荐参考CSDN的一篇文章链接:https://blog.csdn.net/weixin_42222334/ ...

  4. 关于Struts2中 Action 配置method的解读

    为Action配置method属性: 将Action类中的每一个处理方法都定义成一个逻辑Action方法. <!DOCTYPE struts PUBLIC "-//Apache Sof ...

  5. 第7天:Q Quant库(未完待续)

    一.本文大纲: 1.Python内置函数计算期权的价格 2.numpy加速数值计算 3.SciPy进行仿真模拟 4.SciPy求解器计算隐含波动率 5.matplotlib绘图 二.案例 (看不懂,略 ...

  6. scrapy框架学习第一天

    今天是学习的第一天: 知识总结如下: 1,调试器相当于原料出口地(URL提供) 2,scrapy相当于中间加工商(具有销售权利)封装URL为request(请求) 3,下载器使用request(请求) ...

  7. linux使用npm成功安装命令后,执行时却报找不到命令的问题

    # 使用npm安装serve命令 ~$ npm install serve --global 安装成功 # 可是执行命令会报错 ~$ serve -v bash: serve: command not ...

  8. No space left on device Linux系统磁盘空间已满

    1. 删除系统日志等   删除生成 core,mbox等文件   #find / -name core|xargs rm –rf   删除日志   2.重起机器

  9. dapper.simplecurd

    [Table("Users")]//真实表名 publicclass User { [Key] publicint UserId { get; set; } [Column(&qu ...

  10. Problem 7: 10001st prime

    By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13. ...