2012-12-06 22 views
5

html bir div animasyon.jquery merkezine

benim şimdiki js:

$(document).ready(function() { 
     $("#animate").animate({left: "+=512"}, 2000); 
}); 

ve şimdi yerine sağa sadece 512 px merkezine bunu yapmak istiyorum.

+0

Neyin merkezine? #header, #container, belge, pencere? – pxx

cevap

6

#animate'un konumunun olduğunu varsayalım. üst eleman eleman ortalamak için sadece left olan ebeveynin genişliği eksi kendi genişliğinin yarısı yarısını ekleyin:

$("#animate").animate({ 
    left: $("#animate").parent().width()/2 - $("#animate").width()/2 
}, 2000); 

Ben jsFiddle kullanarak demo yarattı.

+0

artık yenilemede çalışmıyor:/ –

+0

@WouterVandenputte Tarayıcı yenilemede aynı şekilde davranmalıdır ... Yine de, [sol değeri ayarlamaya çalışın] (http://jsfiddle.net/8gJAa/1 /) animasyondan önce. – Matthias

1

Sen ekrana ortalamak bu şekilde kullanabilir,

jQuery

$(document).ready(function() { 
    $("#animate").animate({left: $(window).width()/2}, 2000); 
}); 

css

<style type="text/css"> 
div 
{ 
    height: 50px; width: 50px; background-color: Red;position:absolute; top:0; left:0; 
} 
</style> 

html

<div id="container"> 
    <div id="header"> 
     <div id="animate"> 
      cartagena 
     </div> 
    </div> 
</div> 
2

Eğer pencereye ortalamak bu kodu kullanmak istediğiniz darlık:

$("#myJQUIDialog").parent().position({ 
    my: "center", 
    at: "center", 
    of: window, 
    using: function (pos, ext) { 
     $(this).animate({ top: pos.top }, 600); 
    } 
}); 

Bu merkez iletişim ve aynı zamanda animasyon pürüzsüz merkezleme sonuçlanan