आप auto
संपत्ति को एनिमेट नहीं कर सकते। स्क्रीन के केंद्र में तत्व को सही ढंग से एनिमेट करने के लिए आपको इसे absolutely
(या अन्य) स्थिति और फिर स्क्रीन आकार, तत्व आकार और स्क्रॉल स्थिति की गणना करने की आवश्यकता होगी। कुछ इसी तरह पर another SO answer है। Here is the Fiddle
jQuery.fn.center = function() {
this.css("position","absolute");
var top = ($(window).height() - this.height())/2+$(window).scrollTop() + "px",
left = ($(window).width() - this.width())/2+$(window).scrollLeft() + "px";
this.animate({top: top, left: left});
return this;
}
वैकल्पिक रूप से अगर आप केवल क्षैतिज संरेखण चाहते हैं चेतन समारोह से शीर्ष निकाल सकते हैं। और यदि आप वास्तव में रचनात्मक बनना चाहते हैं तो आप position:absolute
को हटा सकते हैं, और स्क्रीन आकार बदलने के मामले में एनीमेशन के बाद margin:auto
को पुनर्स्थापित कर सकते हैं। See another fiddle।
jQuery.fn.center = function() {
this.css("position","absolute");
var left = ($(window).width() - this.width())/2+$(window).scrollLeft() + "px";
this.animate({left: left}, function(){
$(this).css({position: 'static', margin: '0 auto'});
});
return this;
}
$('#selector').center();
स्रोत
2010-12-22 16:06:57
रखने आप भी खड़ी केंद्रित चेतन करने के लिए, लाइन नकल चाहते हैं, तब शीर्ष और ऊंचाई के साथ चौड़ाई के साथ छोड़ दिया की जगह ली। – nsdel