Ios 钛Appcelerator:如何将$(此)元素作为目标?

Ios 钛Appcelerator:如何将$(此)元素作为目标?,ios,animation,appcelerator,titanium-mobile,transition,Ios,Animation,Appcelerator,Titanium Mobile,Transition,我正在设计一个使用钛合金appcelerator的flashcard应用程序,最终目标是使用一个可滚动的视图来显示“包”中的每一张卡,然后点击一张卡(即视图中的卡),这应该围绕其轴旋转(即翻转),以显示相反的方向 你可以从下面的图表中看到我希望实现的目标 不幸的是,当点击其中一个面板时,它不是子视图动画,而是scrollableview中的最后一个子视图动画 我知道这与我在循环中分配变量有关,但如果有人能看看我的代码,告诉我我做错了什么,那就太好了 在JQuery中,它看起来像这样 $(Fro

我正在设计一个使用钛合金appcelerator的flashcard应用程序,最终目标是使用一个可滚动的视图来显示“包”中的每一张卡,然后点击一张卡(即视图中的卡),这应该围绕其轴旋转(即翻转),以显示相反的方向

你可以从下面的图表中看到我希望实现的目标

不幸的是,当点击其中一个面板时,它不是子视图动画,而是scrollableview中的最后一个子视图动画

我知道这与我在循环中分配变量有关,但如果有人能看看我的代码,告诉我我做错了什么,那就太好了

在JQuery中,它看起来像这样

$(FrontView).click(function(){

$(this).parent().flip() //how do I access $(this) and $(this).parent() in Appcelerator?

});
以下是我的appcelerator代码:

while(rows.isValidRow()){

         var FrontView = Ti.UI.createView({

          backgroundImage: '/global/card_bg.png',
          width: 295,
         height:297

    });  

         var BackView = Ti.UI.createView({

          backgroundImage: '/global/card_bg.png',
          width: 295,
          height:297

    });  


 var ControlView = Titanium.UI.createView({
 backgroundColor:"#333",
 bubbleParent : false,
 width: 295,
 height:297,
 top : 100

}); 

FrontView.addEventListener('singletap', function() {
        Ti.API.info('singletap');
        ControlView.animate({view:BackView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_RIGHT});

    });

BackView.addEventListener('singletap', function() {
        Ti.API.info('singletap');
ControlView.animate({view:FrontView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_LEFT});

    });


  $.scrollable_view.addView(ControlView);
  ControlView.add(BackView);  
  ControlView.add(FrontView);  

 rows.next();

} //endwhile

有人能帮忙吗?

我发现,当您在可滚动视图的EventListener中翻转卡片时,它会起作用。
检查此项:

我发现,当您在可滚动视图的EventListener中翻转卡片时,它会起作用。
检查此项:

如果在事件回调中放入一个返回变量,则可以访问tap的源。试试这个,看看它是否有效:

FrontView.addEventListener('singletap', function(e) {
    Ti.API.info('singletap');
    e.source.animate({view:BackView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_RIGHT});
});

BackView.addEventListener('singletap', function(e) {
    Ti.API.info('singletap');
    e.source.animate({view:FrontView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_LEFT});
});

如果在事件回调中放入返回变量,则可以访问tap的源。试试这个,看看它是否有效:

FrontView.addEventListener('singletap', function(e) {
    Ti.API.info('singletap');
    e.source.animate({view:BackView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_RIGHT});
});

BackView.addEventListener('singletap', function(e) {
    Ti.API.info('singletap');
    e.source.animate({view:FrontView,transition:Ti.UI.iPhone.AnimationStyle.FLIP_FROM_LEFT});
});

我认为这不起作用,因为e.source要么是BackView的FrontView(或其中的一些子项),而不是ControlView。我认为这不起作用,因为e.source要么是BackView的FrontView(或其中的一些子项),而不是ControlView。