2011-06-16 48 views
0

我有一個div(div1)是在右下角的位置。當div1被點擊時,它會被jQuery刪除。堆棧兩個div和滑動一個接一個被刪除瓦特/ jQuery

我想將另一個div(div2)放在div1上方,第一個div被移除後,我想讓第二個div向下滑動,其中第一個div是原來的位置。

這是我的DEMO

+0

您需要使用jquery動畫方法來滑動 – Max 2011-06-16 12:42:25

+0

您可以在fadeOut完成後調用slideDown函數,只需在點擊div後調用fadeOut就可以添加它。 – McPepper 2011-06-16 12:48:06

回答

0

嗯......我不完全清楚你的問題,但這是你想要的嗎?

http://jsfiddle.net/X7XVa/

+0

Div2應該始終在那裏。在某些情況下,甚至可能根本沒有div1,但如果是div2,則需要將其定位在它的正上方。 – santa 2011-06-16 12:51:39

1

你可以這樣做:

$(function() { 
    $(".div2").css({ 
     // places .div2 right above .div1 
     bottom: $(".div1").outerHeight() + "px" 
    }); 
    $(".div1").click(function() { 
     $(".div1").fadeOut("slow", function() { 
      $(this).remove(); 
      $(".div2").animate({ 
       bottom: "0px" // slides .div2 down 
      }); 
     }); 
    }); 
} 

jsFiddle example here

+0

嗯,它不適合我。我似乎無法看到div2 ...... Div2應該永遠在那裏。在某些情況下,甚至可能根本沒有div1,但如果是div2,則需要將其定位在它的正上方。 – santa 2011-06-16 12:53:39

+0

這很奇怪,我剛剛嘗試過使用FF4,Chrome 11和IE7,並且我可以看到.div2。你使用的是什麼瀏覽器 ? – Sylvain 2011-06-16 12:59:22

0

如果#DIV2尚不存在:

$('#div1').slideUp(300, function(){ 
    $(this).before('<div id="div2">Content</div>'); 
    $(this).remove(); 

    $('#div2').slideDown(300); 
}); 

或者,如果你已經有了#DIV2在頁面上:

$('#div1').slideUp(300, function(){ 
    $(this).before('#div2'); 
    $(this).remove(); 

    $('#div2').slideDown(300); 
}); 
相關問題