【问题标题】:How to fade out elements on delete in MeteorJS如何在 MeteorJS 中淡出删除元素
【发布时间】:2013-03-11 15:53:44
【问题描述】:

看看:http://shopping-list.meteor.com。我想在项目被删除时淡出它们,而不是让它们立即消失,我不确定如何实现。

代码在http://github.com/chintanparikh/shopping-list

如果有人能让我走上正确的道路,那就太棒了。

干杯!

【问题讨论】:

    标签: javascript jquery meteor fadeout


    【解决方案1】:

    您是否尝试过使用callback

    Template.item.events({
      'click .close': function()
      {
        var self = this;
        $(self).fadeOut('slow', function() { Items.remove(self); });
    
      }
    })
    

    更新:按照 Rahul 的建议添加了“self”。

    【讨论】:

    • ``` var id = "#" + this['_id']; $(id).fadeOut('slow', function() { Items.remove(this); }); ``` 但是,由于某种原因,这给了我 RangeError:超出了最大调用堆栈大小,并且没有删除任何内容
    • 那是因为this指的是回调函数。您应该通过例如引用该对象。 var self = this 或其他绑定范围的方法。
    • 从数据库中删除项目后要求淡出元素的问题。在从数据库确认文档已被删除之前,此答案会淡出元素。
    【解决方案2】:

    试试这个:

    Template.item.events({
      'click .close': function()
      {
        //get parent (li) and fade it out.
        $(this).parent().fadeOut();
        Items.remove(this);
      }
    })
    

    【讨论】:

    • 试过了,没有骰子。我现在正在尝试添加一个 id 值为 _id 的 li,然后使用 jQuery 选择它,让它淡出,然后使用 Item.remove 删除该项目
    • @user1045696 也许函数没有返回li,而是返回button,在这种情况下我更新了代码以淡出父级。
    猜你喜欢
    • 1970-01-01
    • 2021-04-04
    • 2020-07-28
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2017-06-17
    • 2014-03-19
    • 2011-07-04
    相关资源
    最近更新 更多