GreenSock JS在Tween onComplete()中添加dom元素

时间:2014-03-11 21:40:46

标签: dom append greensock tweenlite

我正试图通过您可能能够帮助我的GreenSock JS问题。

在容器div宽度的补间之后,我试图使用onComplete()事件将内联div附加到新创建的容器空间中。

新div不会立即添加到空间中。在下一个添加操作(创建额外的容器宽度)时,将显示先前创建的div。

我正试图在GreenSock环境中解决,但欢迎所有想法。

谢谢!

TweenLite.to($('.list-item-container'), 1, {
  width: $('.list-item-container').width() + 253,
  delay: 0.25,
  onComplete: function () {
     var _item = document.createElement('div');
     $(_item).addClass('list-item');
     $('.list-item-container').append(_item);
  }
});

1 个答案:

答案 0 :(得分:0)

在jQuery准备就绪之前看起来补间是完整的。

$(function() {
    TweenLite.to($('.list-item-container'), 1, {
      width: $('.list-item-container').width() + 253,
      delay: 0.25,
      onComplete: function () {
       var _item = $("<div/>");
       $(_item).addClass('list-item');
       $('.list-item-container').append(_item);
      }
   });
});

http://jsbin.com/lesire/1/

当我将其置于触发事件中时,这也适用。

$("#button").on('click', function(){
    TweenLite.to($('.list-item-container'), 1, {
      width: $('.list-item-container').width() + 253,
      delay: 0.25,
      onComplete: function () {
       var _item = $("<div/>");
       $(_item).addClass('list-item');
       $('.list-item-container').append(_item);
      }
   });
});

我创建了一个演示它的JSBin。

http://jsbin.com/zuyinu/5/

您可能需要考虑使用ID来标识列表项容器,因为

$('.list-item-container').append(_item);

会将_item附加到list-item-container类的每个元素。

祝你好运!