我是钛的新手,我对动画有一个奇怪的问题,代码是这样的。
var animateRight = Ti.UI.createAnimation({
left : 150,
curve:Titanium.UI.ANIMATION_CURVE_EASE_IN_OUT
});
var animateStart = Ti.UI.createAnimation({
left : 0,
curve:Titanium.UI.ANIMATION_CURVE_EASE_IN_OUT
});
$.menu.addEventListener('click', function(){
if($.container.left >= 10){
//$.container.left = 0;
$.container.animate(animateStart);
}
else{
//$.container.left = 150;
$.container.animate(animateRight);
}
});
菜单是一个按钮,当我触摸它时,菜单应该向右移动,如果再次触摸它,菜单应该向左移动,所以如果使用“$ .container.left = 150;”,则动作在菜单中运行良好,但如果使用动画,菜单永远不会返回原始位置。
我认为这个问题适用于动画,但我不确定,有人可以帮助我吗?
感谢。
答案 0 :(得分:0)
动画非常好。我认为您的情况有问题。通过显示警报来检查这两种情况是否有效
由于
答案 1 :(得分:0)
您可以使用Boolean
变量控制动画,例如:
var is_container_change = false;
var animateRight = Ti.UI.createAnimation({
left : 150,
curve:Titanium.UI.ANIMATION_CURVE_EASE_IN_OUT
});
var animateStart = Ti.UI.createAnimation({
left : 0,
curve:Titanium.UI.ANIMATION_CURVE_EASE_IN_OUT
});
$.menu.addEventListener('click', function(){
if(is_container_change){
$.container.animate(animateStart);
}
else{
$.container.animate(animateRight);
}
is_container_change = !is_container_change
});