jquery队列问题第2部分

时间:2010-06-02 17:24:44

标签: jquery

我又遇到了问题..

 $(".menu-container").animate({top:"25px"},
 function() {
     $(".menu-container").animate({top:"-900px"});
     $(".windows-container").animate({top:"-730px"});
 }); 
 $(".menu-container").hide(function(){
     $(".webPageFrame").attr("src","");                
     addMenuButtons('main-menu',MenuTitleMain);

     addLastMenuButtons('last-menu','Login');

     menuBordersAndCorners('main-menu');
     lastMenuBordersAndCorners('last-menu');
 });
      $(".menu-container").show();
      $(".menu-container").animate({top:"0px"});

我认为最后两行没有执行..我还没有看过.menu-container而且没有动画到顶部:0px;

1 个答案:

答案 0 :(得分:2)

在这部分:

 $(".menu-container").animate({top:"25px"}, function() {
   $(".menu-container").animate({top:"-900px"});
   $(".windows-container").animate({top:"-730px"});
 });

.animate({top:"-900px"});排在底部的<{em} 后排队.animate({top:"0px"}); ,你需要先将它放在队列堆栈上,如下所示:

 $(".menu-container").animate({top:"25px"}, function() {
   $(".windows-container").animate({top:"-730px"});
 }).animate({top:"-900px"});

目前正在发生的事情:

  1. .menu-container 开始制作动画至top: 25px
  2. .menu-container 队列 top: 0px动画片
  3. .menu-container 完成动画设为top: 25px 然后top: -900px动画排队。
  4. 因此,结果是动画为25,0,然后是-900,因为订单项已插入队列。我仍然不确定hide()show()顺序是你所追求的,但这就是你没有看到该元素的原因,它最终比窗口高出900px :)) p>

    更新:根据评论,我认为这更接近你所追求的目标:

    $(".menu-container").animate({top:"25px"}, function() {
         $(".windows-container").animate({top:"-730px"});
     }).animate({top:"-900px"}, function(){
         $(".webPageFrame").attr("src","");                
         addMenuButtons('main-menu',MenuTitleMain);
         addLastMenuButtons('last-menu','Login');
         menuBordersAndCorners('main-menu');
         lastMenuBordersAndCorners('last-menu');
     }).animate({top:"0px"});
    

    .hide().show()(当没有给出持续时间> 0时)没有排队,所以立即发生......一旦它超出900px,这就完成了工作。