带有滑动转换(Transform.translate)的RenderController
RenderController with sliding transitions (Transform.translate)
Famous RenderController默认情况下通过交叉渐变来实现过渡,但希望过渡中的视图从右边向内滑动,过渡外将其移动到左边。这能实现吗?现在我只成功地控制了淡出速度和舒缓:
function AppView() {
RenderController.call(this, {
inTransition: {curve: "easeInOut", duration: 400},
outTransition: {curve: "easeInOut", duration: 400},
overlap: false
});
...
以前我们在StateModifiers和setTransforms中有这个功能。我怎么能得到相同的,而使用RenderController?
看起来是这样的:
function AppView() {
RenderController.call(this, {
overlap: true
});
this.options.inTransition = { curve: Easing.inQuad, duration: 500 };
this.options.outTransition = { curve: Easing.inQuad, duration: 500 };
this.inTransformFrom(function(progress) {
return Transform.translate(window.innerWidth * (1.0 - progress), 0, 0);
});
this.outTransformFrom(function(progress) {
return Transform.translate(window.innerWidth * (progress - 1.0), 0, -1);
});
// no cross-fading
this.inOpacityFrom(function() { return 1; });
this.outOpacityFrom(function() { return 1; });
...
我挣扎了一点,试图找出如何做自定义过渡与RenderController作为文档或阅读代码不是很明显。
这就是我如何修改你的答案在使用RenderController实例方面,你需要指定的实际功能,而不是一个字符串(这可能是为什么你的过渡发生在同一时间,而不是在不同的速率):
var ctrl = new RenderController({
inTransition: {curve: Easing.inOutQuart, duration: 600},
outTransition: {curve: Easing.inOutQuart, duration: 600},
overlap: true
});
ctrl.inTransformFrom(function(progress) {
return Transform.translate(window.innerWidth * (1.0 - progress), 0, 0);
});
ctrl.outTransformFrom(function(progress) {
return Transform.translate(window.innerWidth * progress - window.innerWidth, 0, 0);
});
// No opacity change
ctrl.inOpacityFrom(function() { return 1; });
ctrl.outOpacityFrom(function() { return 1; });
// Add to the context or parent view
this.add(ctrl);
// Now show the next child view
ctrl.show(myView);
...
相关文章:
- 偶尔结结巴巴地说“;堆叠的”;translate()上的转换(v4.0.0-alpha40)
- $translateProvider.useStaticFilesLoader的Angular Translate异步定
- AngularJS无法使用translate值正确翻译
- JQuery在类中设置CSS Transform、Translate属性
- 如何加载JSON数组以使用Angular-Translate翻译AngularJS网页
- AngularJS translate & ui tooltip html
- AngularJS translate table
- 如何使用css translate实现平移
- 使用AngularJS和Angular Translate如何检查字符串是否已被翻译
- 如何在Zend Framework中使用javascript文件中的translate
- 使用Angular translate设置参数格式
- 在 ui-router 配置文件中使用 angular-translate 的 $translate.use()
- 在HTML5画布中,translate()和moveTo()javascript函数有什么区别
- 如何更改转换:当滚动浏览网站时元素的translate()位置
- 使用 Google Translate API 翻译 JavaScript 和 HTML 中的内容
- HTML5 Canvas .translate 和 .scale 会导致图像边缘出现锯齿状
- 角度翻译 UTF8 字符 (pascalprecht.translate).
- 相当于fabric.js中的ctx.translate
- 当以translate为中心时,语气模糊的文本(-50%,-50%);
- 如何使用angular translate从HTML中的函数获取翻译ID