2012-07-04 17 views
7

मैं अपनी परियोजना के भीतर एक अलग पृष्ठ पर स्विच करने के लिए jQueryMobile की $.mobile.changePage(...) विधि का उपयोग कर रहा हूं।पृष्ठ परिवर्तनों के बीच वापसी-संक्रमण को परिभाषित करना

$.mobile.changePage("#foo", { 
transition:"slide" 
}); 

जब मैं उस विधि चलाने के लिए, संक्रमण पूरी तरह से काम करता है लेकिन जब मैं ब्राउज़र की वापसी बटन हिट मुझे कोई रिवर्स संक्रमण को देखते हैं।

मैंने http://jquerymobile.com/test/docs/api/methods.html में वर्णित कुछ पैरामीटर के साथ खेला लेकिन कोई भाग्य नहीं था।

विशेष रूप से reverse:true को सेट करना लक्ष्य पृष्ठ पर आगे बढ़ते समय संक्रमण को उलट देता है लेकिन जब भी मैं बैक बटन दबाता हूं तब भी कोई संक्रमण नहीं होता है।


अद्यतन: यह डेटा-rel देखकर की तरह लगता है = "वापस" "orginary लिंक" के माध्यम से परिभाषित के लिए काम कर देता है <a> -tag लेकिन है कि मैं क्या जरूरत है जावास्क्रिप्ट बराबर जब बुला है $.mobile.changePage() फ़ंक्शन।

+0

परीक्षण के लिए आप किस ब्राउज़र का उपयोग करते हैं? –

+0

@ जॉन सफारी (आईफोन) – Timo

उत्तर

0

यह मिला।

हमारे डेवलपर्स में से एक वैश्विक स्तर पर सभी रिटर्न संक्रमण बंद कर दिया, इसलिए कोई आश्चर्य नहीं कि यह काम नहीं करता है।

यही वह है जो उसने उपयोग किया था। उस रेखा को हटाकर चाल चल रही थी।

$.mobile.changePage.defaults.transition = "none"; 
2

इस पृष्ठ पर एक नज़र डालें, http://jsfiddle.net/nachiket/mDTK2/show/light/
मेरे साथ ठीक काम करता है।

क्लिक करें (पृष्ठ 1 पर) बाएं से दाएं, & पर संक्रमण दिखाता है बैक बटन (पृष्ठ 2 पर) दाएं से बाएं संक्रमण को दिखाता है।

स्रोत: http://jsfiddle.net/nachiket/mDTK2/
यदि यह ठीक से काम नहीं कर रहा है, तो कृपया अपना ब्राउज़ और अन्य विवरण साझा करें।
यदि उदाहरण ठीक काम कर रहा है, लेकिन आपका कोड नहीं है, तो अपनी समस्या को हाइलाइट करने वाला एक जेएसफ़ाइल बनाएं, इसलिए मैं कोड/उत्तर की जांच और अद्यतन कर सकता हूं।

+0

हां, एक सादा जेक्यूएम परियोजना बनाना ठीक काम करता है। ऐसा लगता है कि यह व्यवहार केवल मेरे ऐप में दिखाई देता है। दुर्भाग्य से स्रोत कोड गोपनीय है। इसे डीबग करने के लिए एक अच्छा अभ्यास क्या होगा? – Timo

+0

@ वाल्मर आपको सफारी के लिए डीबग कंसोल सक्षम करना चाहिए: http://osxdaily.com/2012/05/07/enable-safari-debug-console-ios/ –

2

लिंक आप पर आपके साथ data-rel="back"

उदाहरण data-direction="reverse" उपयोग कर सकते हैं रिवर्स संक्रमण करना चाहते हैं के लिए:

<div data-role="page" > 
    <div data-role="header"><h3> Header </h3> </div> 
    <div data-role="content" >  
     <a href="#page2" data-role="button" data-transition="slide">Page 2</a> 
    </div> 
</div> 

<div data-role="page" id="page2"> 
    <div data-role="header"><h3> Header </h3> </div> 
    <div data-role="content" >  
     <a href="#" data-rel="back" data-role="button" data-direction="reverse" >Back</a> 
    </div> 
</div>​ 

jsFiddle:

डॉक्स :

अद्यतन

अपनी टिप्पणी से

"Yeah, but how do I do that with the JavaScript function $.mobile.changePage()?" 

डॉक्स:

उद्धरण:

Properties: 
    reverse (boolean, default: false) Decides what direction the transition will run when showing the page. 
+0

हाँ, लेकिन मैं जावास्क्रिप्ट फ़ंक्शन के साथ ऐसा कैसे करूं ' $ .mobile.changePage() '? – Timo

+0

अद्यतन देखें –

+0

नहीं, यह गलत है। जैसा कि मैंने पहले से ही अपने मूल प्रश्न में कहा है, 'रिवर्स = सच्चाई' का उपयोग करके केवल एक पृष्ठ से दूसरे पृष्ठ पर आगे बढ़ते समय बैक-ट्रांज़िशन का उपयोग करने के लिए जेक्यूएम को बताएगा। पिछले पृष्ठ पर वापस जाने पर यह संक्रमण को प्रभावित नहीं करेगा। – Timo

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