当前位置: 首页 > news >正文

广州做网站多wordpress 虎嗅2016

广州做网站多,wordpress 虎嗅2016,代驾系统定制开发,潍坊 logo设计公司一、是什么 在日常开发中#xff0c;页面切换时的转场动画是比较基础的一个场景 当一个组件在显示与消失过程中存在过渡动画#xff0c;可以很好的增加用户的体验 在react中实现过渡动画效果会有很多种选择#xff0c;如react-transition-group#xff0c;react-motion页面切换时的转场动画是比较基础的一个场景 当一个组件在显示与消失过程中存在过渡动画可以很好的增加用户的体验 在react中实现过渡动画效果会有很多种选择如react-transition-groupreact-motionAnimated以及原生的CSS都能完成切换动画 二、如何实现 在react中react-transition-group是一种很好的解决方案其为元素添加enterenter-activeexitexit-active这一系列勾子 可以帮助我们方便的实现组件的入场和离场动画 其主要提供了三个主要的组件 CSSTransition在前端开发中结合 CSS 来完成过渡动画效果SwitchTransition两个组件显示和隐藏切换时使用该组件TransitionGroup将多个动画组件包裹在其中一般用于列表中元素的动画 CSSTransition 其实现动画的原理在于当CSSTransition的in属性置为true时CSSTransition首先会给其子组件加上xxx-enter、xxx-enter-active的class执行动画 当动画执行结束后会移除两个class并且添加-enter-done的class 所以可以利用这一点通过css的transition属性让元素在两个状态之间平滑过渡从而得到相应的动画效果 当in属性置为false时CSSTransition会给子组件加上xxx-exit和xxx-exit-active的class然后开始执行动画当动画结束后移除两个class然后添加-enter-done的class 如下例子 export default class App2 extends React.PureComponent {state {show: true};onToggle () this.setState({show: !this.state.show});render() {const {show} this.state;return (div className{container}div className{square-wrapper}CSSTransitionin{show}timeout{500}classNames{fade}unmountOnExit{true}div className{square} //CSSTransition/divButton onClick{this.onToggle}toggle/Button/div);} }对应css样式如下 .fade-enter {opacity: 0;transform: translateX(100%); }.fade-enter-active {opacity: 1;transform: translateX(0);transition: all 500ms; }.fade-exit {opacity: 1;transform: translateX(0); }.fade-exit-active {opacity: 0;transform: translateX(-100%);transition: all 500ms; }SwitchTransition SwitchTransition可以完成两个组件之间切换的炫酷动画 比如有一个按钮需要在on和off之间切换我们希望看到on先从左侧退出off再从右侧进入 SwitchTransition中主要有一个属性mode对应两个值 in-out表示新组件先进入旧组件再移除out-in表示就组件先移除新组建再进入 SwitchTransition组件里面要有CSSTransition不能直接包裹你想要切换的组件 里面的CSSTransition组件不再像以前那样接受in属性来判断元素是何种状态取而代之的是key属性 下面给出一个按钮入场和出场的示例如下 import { SwitchTransition, CSSTransition } from react-transition-group;export default class SwitchAnimation extends PureComponent {constructor(props) {super(props);this.state {isOn: true}}render() {const {isOn} this.state;return (SwitchTransition modeout-inCSSTransition classNamesbtntimeout{500}key{isOn ? on : off}{button onClick{this.btnClick.bind(this)}{isOn ? on: off}/button}/CSSTransition/SwitchTransition)}btnClick() {this.setState({isOn: !this.state.isOn})} }css文件对应如下 .btn-enter {transform: translate(100%, 0);opacity: 0; }.btn-enter-active {transform: translate(0, 0);opacity: 1;transition: all 500ms; }.btn-exit {transform: translate(0, 0);opacity: 1; }.btn-exit-active {transform: translate(-100%, 0);opacity: 0;transition: all 500ms; }TransitionGroup 当有一组动画的时候就可将这些CSSTransition放入到一个TransitionGroup中来完成动画 同样CSSTransition里面没有in属性用到了key属性 TransitionGroup在感知children发生变化的时候先保存移除的节点当动画结束后才真正移除 其处理方式如下 插入的节点先渲染dom然后再做动画 删除的节点先做动画然后再删除dom 如下 import React, { PureComponent } from react import { CSSTransition, TransitionGroup } from react-transition-group;export default class GroupAnimation extends PureComponent {constructor(props) {super(props);this.state {friends: []}}render() {return (divTransitionGroup{this.state.friends.map((item, index) {return (CSSTransition classNamesfriend timeout{300} key{index}div{item}/div/CSSTransition)})}/TransitionGroupbutton onClick{e this.addFriend()}friend/button/div)}addFriend() {this.setState({friends: [...this.state.friends, coderwhy]})} }对应css如下 .friend-enter {transform: translate(100%, 0);opacity: 0; }.friend-enter-active {transform: translate(0, 0);opacity: 1;transition: all 500ms; }.friend-exit {transform: translate(0, 0);opacity: 1; }.friend-exit-active {transform: translate(-100%, 0);opacity: 0;transition: all 500ms; }
http://www.huolong8.cn/news/415383/

相关文章:

  • wordpress免费网站国外wordpress前台加载谷歌字体
  • 沙田网站仿做网站设计制作的连接方式
  • 如何做企业网站规划苏州品牌网站设计
  • 沧州泊头纯设计网站制作微信小程序跳转到网页
  • 温江建设局网站1688黄页大全
  • 网站建设制作开发网站设计郑州
  • 做网站被骗六安市裕安区建设局网站
  • 一个公司做两个网站菜鸟制作个人网站网页实例
  • 做网站外包价格重庆网络推广外包
  • 网站建设找好景科技济宁一建建设集团有限公司
  • 网站建设公司使用图片侵权使用者有无责任wordpress CDN设置
  • 巴中做网站公司wordpress主题下载资源
  • 电子元器件外贸网站建设阿里云个人怎么免费做网站
  • 营销最好的网站建设公司西安旅游攻略必去景点
  • 做网站那个平台好网站开发搭建合同范本
  • 成都的网站建设知名网络公司有哪些
  • 网站兼容手机wordpress ajax 刷新
  • 注册百度网站怎么弄wordpress设计类模板
  • 网页建站要多久开封网站建设zducm
  • p2p提供网站建设违法wordpress三栏
  • 企业网站宣传搜索引擎优化学习
  • 海盐网站设计台州网站制作推广
  • 新品发布会的流程做seo推广公司网站
  • 网站创意网站建设与设计ppt
  • 查看注册过的网站单机游戏大全
  • 网站如何做才能被百度等收录网站开发报价评估
  • phpcms 怎么做视频网站首页wordpress 预定插件
  • 股票配资网站建设中国建筑集团公司官网
  • 网站建设东莞公司潍坊建设网站多少钱
  • 做优惠券怎么推广引流seo发帖网站