2012-06-08 87 views
0

這個jQuery代碼移到頂部反對底部:jQuery的動畫:移動物體

case 
'slideToTop': 
    $a.data('t',$a.css('top')); 
    $a.stop().animate({'top': $a.height()+20 + 'px'},300,function(){ 
    $a.css('top',0-$a.height()-20 + 'px'); 
    $curr.removeClass('sh').hide(); 
    $next.addClass('sh').show(); 
    $a.animate({'top': $a.data('t')},300); }); 
break; 

我將如何改變這種狀況從底部移動物體頂部?

我試圖修改這些行:

$a.stop().animate({'top': $a.height()+20 + 'px'},300,function() 
$a.css('top',0-$a.height()-20 + 'px'); 

要這樣:

$a.stop().animate({'top': 0-$a.height()-20 + 'px'},300,function(){ 
$a.css('top',$a.height()+20 + 'px'); 

沒有工作。有人知道嗎?謝謝!

+0

這看起來並不像非常可讀的代碼...... – Blender

+0

我道歉的。我正試圖讓它更具可讀性。 – user1312079

+0

嘗試在原始表達式中將'top'更改爲'bottom'。 – Blender

回答

0

擺脫了「PX」

$a.stop().animate({'top': $a.height()+20},300,function(){$a.css('top',0-$a.height()-20 + 'px'); 
+0

同樣適用於所有表達式 – Kizer

+0

擺脫'px'也不起作用。 – user1312079

+0

你必須檢查你的CSS,以確保它是正確的。爲了能夠根據位置動畫任何對象,必須正確設置CSS位置(例如{position:relative})。還請檢查您的控制檯以確保代碼不會產生任何錯誤。也許您可以將您的代碼發佈到jsfiddle併發布鏈接。 – Kizer