React用JS 模拟动画介绍

一、

 1 <!DOCTYPE html>
 2 <html lang="zh-cn">
 3
 4 <head>
 5     <meta charset="UTF-8">
 6     <title>React动画</title>
 7 </head>
 8
 9 <body>
10     <script src="../react-0.13.2/build/react.js"></script>
11     <script src="../react-0.13.2/build/JSXTransformer.js"></script>
12     <script type="text/jsx">
13         var Positioner = React.createClass({
14             getInitialState: function() {
15                 return {
16                     position: 0
17                 };
18             },
19             resolveSetTimeout: function() {
20                 if (this.state.position < this.props.position) {
21                     this.setState({
22                         position: this.state.position + 1
23                     });
24                 }
25             },
26             componentDidUpdate: function() {
27                 if (this.props.position) {
28                     setTimeout(this.resolveSetTimeout, this.props.timeoutMs);
29                 }
30             },
31             render: function() {
32                     var divStyle = {
33                         marginLeft: this.state.position
34                     };
35                     return <div style={divStyle}> This will animate! </div>
36                 }
37             })
38         React.render(<Positioner></Positioner>, document.body);
39         React.render(<Positioner position={100} timeoutMs={10}></Positioner>, document.body);
40     </script>
41 </body>
42
43 </html>

二、结果

时间: 2024-12-21 21:11:40

React用JS 模拟动画介绍的相关文章

Electron + React + Node.js + ES6 开发本地 App

Electron + React + Node.js + ES6 开发本地 App 1.概述 近来工作上需要做一款 PC 上的软件,这款软件大体来讲是类似 PPT 的一款课件制作软件.由于我最近几年专注于移动 App 的开发,对 PC 端开发的了解有些滞后.所以我首先需要看看,在 PC 上采用什么框架能够顺利完成我的工作. 我的目标是,在完成这款软件的同时能够顺便学习一下比较流行的技术.在经过前期技术调研后,我明确了实现这款软件所需要的技术条件: 不采用 C++ 方面的类库,比如 MFC.Qt.

17javascript看到的一篇关于JS函数的介绍

17javascript看到的一篇关于JS函数的介绍,下面用自己的话来介绍一下JS函数是什么.在W3C中函数的定义是这么说的:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. 诚然,从这种抽象的定义中我们得不到什么有价值的东西.下面,举例来列举出函数的几种定义方式: 复制代码function add(num1, num2) {  return num1 + num2;}var add = function (num1, num2) {  return num1 + num2;}//这

强大的CSS3/JS:帧动画的多种实现方式与性能对比

Web动画形式 首先我们来了解一下Web有哪些动画形式 1\. CSS3动画 Transform(变形) Transition(过渡) Animation(动画) 2\. JS动画(操作DOM.修改CSS属性值) 3\. Canvas动画 4\. SVG动画 5\. 以Three.js为首的3D动画 以上各种动画形式都可以制作出一种类型的动画,那就是帧动画,也叫序列帧动画,定格动画,逐帧动画等,这里我们统一用帧动画来表述. 这里推荐一下我的前端学习交流扣qun:767273102 ,里面都是学习

three.js模拟实现太阳系行星体系

概况如下: 1.SphereGeometry实现自转的太阳: 2.RingGeometry实现太阳系星系的公转轨道: 3.ImageUtils加载球体和各行星贴图: 4.canvas中createRadialGradient实现太阳发光效果: 5.THREE.Sprite精灵实现太阳系行星. 效果图如下: 预览地址:three.js模拟实现太阳系行星体系 初始化场景.相机.渲染器,设置相机位置. 1 // 初始化场景 2 var scene = new THREE.Scene(); 3 // 初

单篇文章JS模拟分页

废话部分 前两天做了一个前台分页插件,支持ajax读取数据绑定前台 和 url带页码参数跳转两种方式.于是稍加改动,做了一个单篇文章js模拟分页的代码,为什么说是模拟分页呢?因为在服务器响应HTML请求的时候,就已经把全文回传给客户端了,只是我们通过js的方式,把全文隐藏,每次翻页至显示出我们需要的那一部分,而不是真正的按需要去发出HTML请求.所以,在做这个插件的时候去掉了ajax请求的功能及其附带参数,去掉了pageSize参数(恒等于1).这里就不讨论具体的技术细节了和上一篇的分页计算原理

由chrome剪贴板问题研究到了js模拟鼠标键盘事件

写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.clipboardData.getData("Text") 可是在chrome下面就行不通了,chrome下面没有类似ie的这种方法,那应该怎么办呢,百度了一下,发现还真有办法. 只要在HTML界面上放上一个text类型的控件,如下所示 <textarea id="textAre

js模板引擎介绍搜集

js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTemplate等),如何从这么多纷繁的模板引擎中选择一款适合自己的呢,笔者最近对主流的js模板引擎(mustache,doT,juicer,artTemplate,baiduTemplate,Handlebars,Underscore)做了一番调研,分享出来希望对大家有用. 从这几个指标来比较js模板

doT.js详细使用介绍

官网: http://olado.github.iodoT.js详细使用介绍 使用方法: {{= }} for interpolation {{ }} for evaluation {{~ }} for array iteration {{? }} for conditionals {{! }} for interpolation with encoding {{# }} for compile-time evaluation/includes and partials {{## #}} for

JS模拟时钟

<html> <head> <title>js模拟时钟</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body onLoad="setInterval(setTimeSpan,1000);"> <span style="fon