मुझे लगता है कि कारण यह काम नहीं करता सच है कि आप right
स्थिति सेट है कि के साथ कुछ है, लेकिन नहीं left
।
लाइव उदाहरण:http://jsfiddle.net/XqqtN/
var left = $('#coolDiv').offset().left; // Get the calculated left position
$("#coolDiv").css({left:left}) // Set the left to its calculated position
.animate({"left":"0px"}, "slow");
संपादित करें:
के रूप में प्रकट होता है
आप मैन्युअल रूप से वर्तमान स्थिति के लिए left
सेट करते हैं, यह जाने के लिए लगता है हालांकि फ़ायरफ़ॉक्स अपेक्षित व्यवहार करता है क्योंकि इसकी गणना एड left
स्थिति पिक्सेल में सही मान के रूप में उपलब्ध है, जबकि वेबकिट आधारित ब्राउज़र, और जाहिर है आईई, बाएं स्थिति के लिए auto
का मान लौटाएं।
क्योंकि auto
एनीमेशन के लिए प्रारंभिक स्थिति नहीं है, एनीमेशन प्रभावी ढंग से 0 से 0 तक चलता है। देखना बहुत दिलचस्प नहीं है। : ओ)
उपरोक्त के रूप में एनिमेट के पहले मैन्युअल रूप से बाएं स्थिति को सेट करना समस्या को हल करता है।
आप चर के साथ परिदृश्य को अव्यवस्थित पसंद नहीं है, तो यहां एक चर के लिए की जरूरत है obviates एक ही बात का एक अच्छा संस्करण है:
$("#coolDiv").css('left', function(){ return $(this).offset().left; })
.animate({"left":"0px"}, "slow");
jQuery स्रोत http://jax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js के पढ़ने में, स्थिति निर्धारण के लिए jQuery पहले से ही "शीर्ष" और " हुड के नीचे "रिश्तेदार" छोड़ा "- मेरा मानना है कि आपका जवाब गलत है। उदाहरण के लिए, मेरा उदाहरण सही रूप से सीएसएस मान सेट होने के बावजूद काम करता है, और एनिमेट मान बाईं ओर सेट किया जा रहा है। – artlung
@artlung - लिंक के लिए धन्यवाद, लेकिन आप किस ब्राउजर में परीक्षण किया था? मैं सफारी में परीक्षण कर रहा हूं, और एनीमेशन बाएं स्थिति को सेट किए बिना काम नहीं करता है। यह सीधे बाएं कूदता है, संभावित रूप से बाईं ओर 'ऑटो' के प्रारंभिक मूल्य के परिणामस्वरूप। – user113716
फ़ायरफ़ॉक्स में परीक्षण किया और महान काम किया। जैसा कि आपने इंगित किया है, पिकुलियर, क्रोम और सफारी व्यवहार करते हैं। तो यह सही स्थिति में/बदल रहा/कर रहा है, लेकिन यह अंतरिम एफएक्स नहीं दिखा रहा है! JQueryUI जोड़ना (जो माना जाता है कि अतिरिक्त चीजों को एनिमेट करने की अनुमति देता है सामान्य jQuery नहीं कर सकता) क्रोम और सफारी के लिए कोई बदलाव नहीं करता है। – artlung