मुझे पता है कि आप विशेष रूप से कहते हैं कि "आप जावास्क्रिप्ट में यह कर सकते हैं", लेकिन आप जावास्क्रिप्ट का उपयोग करने की जरूरत नहीं होनी चाहिए। मैं काफी हद तक निश्चित हूं कि आपके द्वारा लिंक की जाने वाली अवधारणा का प्रमाण केवल jQuery को जावास्क्रिप्ट पर वापस लाने के तरीके के रूप में उपयोग करता है ताकि सभी ब्राउज़र एनीमेशन के साथ अच्छा खेल सकें। चूंकि आप विशेष रूप से मोबाइल सफारी के लिए विकास कर रहे हैं, इसलिए ब्राउज़र के बैक बटन को काम करने के लिए पुश और पॉप स्टेटस के लिए इतिहास प्लगइन का उपयोग करने के अलावा आपको इसके लिए jQuery का उपयोग करने की आवश्यकता नहीं है; यह सीएसएस संक्रमण गुणों और :target
छद्म चयनकर्ता के माध्यम से पूरी तरह से करने योग्य है। अपने टुकड़ा यूआरएल मिलान के रूप में जब तक
#thing-that-will-transition
{
(bunch of properties)
-webkit-transition: margin-left [the rest of your transition values]
}
#thing-that-will-transition:target
{
margin-left: [your properties]
}
:
HTML में:
<div id="thing-that-will-transition">
<a href="#thing-that-will-transition>click this to transition the div</a>
</div>
सीएसएस में
तो एक विकल्प के रूप में, आप इस तरह कुछ करने के लिए सक्षम होना चाहिए तत्व है कि आप संक्रमण के लिए चाहते हैं उसका नाम के साथ तो आप अगर आप पेट जावास्क्रिप्ट का उपयोग यूआरएल के लिए में टुकड़ा पुश करने के लिए सक्षम होना चाहिए अंधेरे में एक टुकड़ा href के साथ एंकर का उपयोग करने के बजाय अभी भी संक्रमण हो रहा है। और यदि आप एक jQuery इतिहास प्लगइन का उपयोग करते हैं या इतिहास स्टैक के अपने स्वयं के धक्का और पॉपिंग करते हैं तो आपको अभी भी अपने ऐप के लिए बैक-बटन व्यवहार मिलता है।
मैं आप विशेष रूप से एक जावास्क्रिप्ट समाधान सीएसएस एनीमेशन को गति प्रदान करने के लिए कहा है, लेकिन मैं सिर्फ यकीन नहीं क्यों यह है कि तुम क्या जरूरत है हूँ। क्षमा करें अगर यह आपकी मदद नहीं करता है।
अद्यतन: Here's a jsFiddle demonstrating the above। यह इतिहास स्टैक को प्रबंधित करने के लिए this jQuery इतिहास प्लगइन का उपयोग करता है, ताकि आप अभी भी खंड URL से स्वीकार्य वापस/आगे बटन व्यवहार प्राप्त कर सकें।एंकर टैग जेएस सक्षम किए बिना ब्राउज़र के फॉलबैक के रूप में href विशेषता में मानक खंड के साथ ऑनक्लिक में प्लगइन की "पुश" या "लोड" विधि का उपयोग करता है।
अद्यतन 2:Here's another jsFiddle का उपयोग करता है रूपांतरण/बदलाव के बजाय अनुवाद।
अद्यतन 3 (roosteronacid से):
और एनिमेशन जावास्क्रिप्ट के माध्यम से जा प्राप्त करने के लिए के रूप में, आप कर सकते हैं:
var element = document.getElementById("...");
setTimeout(function()
{
element.style.webkitTransitionDuration = "0.3s";
element.style.webkitTransitionTimingFunction = "ease-out";
element.style.webkitTransform = "translate3d(300px, 0, 0)";
}, 0);
स्रोत
2011-06-27 20:57:59
मैंने इसके लिए एक बार थोड़ा प्लगइन बनाया है, यदि संभव हो तो यह शुद्ध CSS3 एनीमेशन का उपयोग करता है, अगर यह jQuery के मूल एनिमेट फ़ंक्शन का उपयोग नहीं करता है: http://jsfiddle.net/WsR5s/12/ (समर्थन: एनिमेटेड चयनकर्ता और .stop()) – meo