2012-02-23 18 views
12

position({of:,my:,at:}) का उपयोग करके मैं वर्तमान स्थिति से केंद्र में कैसे एनिमेट कर सकता हूं? क्या प्रक्रिया को स्वचालित करने का कोई तरीका है, या क्या मुझे सीएसएस गुणों को मैन्युअल रूप से एनिमेट करना है?एनिमेटिंग jQuery यूआई स्थिति()

+0

फ़ंक्शन http://api.jquery.com/animate/ देखें, आप सीएसएस मानों का एक सेट निर्दिष्ट कर सकते हैं और jquery संक्रमण करेगा। – Yogu

उत्तर

1

क्या आपने .animate() पर देखा है?

संपादित करें: अब जब मैं समझता हूं कि आप थोड़ा बेहतर खोज रहे हैं, here is a jQuery plugin that I wrote to do this very thing

Here's a quick jsFiddle as an example

मैंने विकल्पों को कॉन्फ़िगर करने योग्य ऑब्जेक्ट बनाया है। उदाहरण:

$('#clickme').click(function() { 
    $('#blah').align({speed:1000,y:false}); 
});​ 

संपादित करें: अन्य कोड निकालना क्योंकि यह अब आवश्यक नहीं है और केवल अव्यवस्थित चीजें हैं। मेरा नया कोड साफ करना ऑफसेट पेरेंट पोजिशनिंग मुद्दों को ऑफसेट करें। स्रोत के नवीनतम संस्करण का उपयोग कर गिट रिपोजिटरी और जेएसफ़िल्ड के लिए एक लिंक जोड़ा गया।

+0

मुझे इसके बारे में पता है, लेकिन फिर मुझे div की चौड़ाई-ऊंचाई विभाजन 2, आदि की गणना करना होगा .. मैं सोच रहा था कि क्या एनिमेट करने का कोई तरीका था, कहें: स्थिति ({का:, मेरा:, यहां: , एनिमेट: स्लाइड}), या इस तरह का कुछ। – localhost

+0

jsfiddle.net/MjsDc/8/ यह इसे हल करेगा, लेकिन यह थोड़े गन्दा है। मैं स्थिति के साथ जाने का समाधान चाहता था ({::, my:, at:})। – localhost

+0

@ localhost2 ठीक है ... मैंने वास्तव में इसके लिए कोड लिखा है .... यह एक ऑब्जेक्ट था जो jQuery एक्सटेंशन को केंद्रित करता था जिसे मैंने क्लाइंट साइट पर उपयोग किया था ... यह देखना है कि मैं इसे खोद सकता हूं ... –

24

यह उत्तर फरवरी में वापस आ गया है, लेकिन अब एक आसान तरीका है।

स्थिति विधि केवल इस उद्देश्य के लिए using तर्क लेती है। उदाहरण के लिए:

$(div).position({ 
    at: "left+50% top+50%", 
    of: $(div).parent(), 
    using: function(css, calc) { 
     $(this).animate(css, 200, "linear"); 
    } 
}); 
+0

जानना अच्छा है, धन्यवाद। – localhost

संबंधित मुद्दे