【问题标题】:Titanium Appcelerator: How do I target $(this) element?Titanium Appcelerator:如何定位 $(this) 元素?
【发布时间】:2013-01-31 11:52:36
【问题描述】:

我正在使用钛应用加速器设计一个抽认卡应用程序,最终目标是使用可滚动视图来显示“包”中的每张卡片,然后点击一张卡片(即视图中的卡片),它应该围绕它旋转轴(即翻转)以显示反向。

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

不幸的是,当点击其中一个面板时,它不是子视图动画,而是滚动视图中的 last child 动画。

我知道这与我在循环中分配变量的事实有关,但是如果有人可以查看我的代码并告诉我我做错了什么,那就太好了。

在 JQuery 中它看起来像这样

$(FrontView).click(function(){

$(this).parent().flip() //how do I access $(this) and $(this).parent() in 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

有人可以帮忙吗?

【问题讨论】:

    标签: ios animation appcelerator titanium-mobile transition


    【解决方案1】:

    如果您在事件回调中放置一个返回变量,您可以访问点击源。试试这个,看看它是否有效:

    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。
    【解决方案2】:

    我发现当您在 Scrollable View 的 EventListener 中翻转卡片时它可以工作。 看看这个:https://gist.github.com/4683264

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      • 2011-11-20
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      相关资源
      最近更新 更多