2011-11-11 19 views
10

पर ठीक से काम नहीं कर रहा है मेरे पास एक अजीब दृश्य गड़बड़ है। ऐप पर पेज बदलते समय मैं एक अच्छा संक्रमण चाहता हूं। दुर्भाग्यवश, पहली बार जब मैं वर्तमान पृष्ठ को बाहर करने और नए पृष्ठ को स्लाइड करने के बजाय, किसी अन्य पृष्ठ पर बदलता हूं, तो वर्तमान पृष्ठ को तुरंत नए पृष्ठ द्वारा प्रतिस्थापित किया जाता है और फिर स्लाइड आउट हो जाता है। जब पहला पृष्ठ दृश्य से बाहर होता है, तो नया पृष्ठ दिखाया जाता है। हालांकि, दूसरी बार, यह एक आकर्षण की तरह काम करता है!फोनगैप/jquery मोबाइल स्लाइड संक्रमण पहले कॉल

यह jQuery मोबाइल + PhoneGap के साथ iphone पर चल रहा है

मैं मदद करने के लिए इस मुद्दे को स्पष्ट करना एक वीडियो बनाया: http://www.youtube.com/watch?v=Ybvzh_wTnSE

<body style="background-color: #000;"> 
     <div id="container" style="display:none;"> 
      <div id="side-menu" style="display:none;"> 
       <div id="header_top"></div> 
       <a href="#dives" onclick="showdives();"><div id="header_dives" class="selected"></div></a> 
       <div id="header_spacer1"></div> 
       <a href="#explore" onclick="showexplore();"><div id="header_explore"></div></a> 
       <div id="header_spacer2"></div> 
       <a href="#search" onclick="showsearch();"><div id="header_search"></div></a> 
       <div id="header_spacer3"></div> 
       <a href="#settings" onclick="showsettings();"><div id="header_settings"></div></a> 
       <div id="header_bottom"></div> 
      </div> 
      <div id="slide_mask"> 
       <!-- START of LOGIN page --> 
       <div data-role="page" id="login">   
        <div id="home_frame"> 
         <div id="home_logo"></div> 
         <div id="home_fblogin" onclick="login()"></div> 
         <div class="home_login"> 
          <p>Email: <input type="text" name="user[email]" size="30"/></p> 
          <p>Password: <input type="password" name="user[password]" size="30"/></p> 
          <button onclick="show_page_home();">LOGIN</button> 
         </div> 
        </div> 
       </div> 
       <!-- END of LOGIN page --> 

       <!-- START of LOGIN page --> 
       <div data-role="page" id="dives" class="right_pane">  
         <p>My dives !</p>  
       </div><!-- /content --> 
       <div data-role="page" id="explore" class="hidden right_pane"> 
         <p>My explore !</p>  
       </div><!-- /content --> 
       <div data-role="page" id="search" class="hidden right_pane">  
         <p>My search !</p>  
       </div><!-- /content --> 
       <div data-role="page" id="settings" class="hidden right_pane"> 
         <p>My settings !</p> 
         <button onclick="logout_db();">logout</button>  
       </div><!-- /content --> 
       <!-- END of LOGIN page --> 
      </div> 
     </div> 
     <div id="log"></div> 
     <div id="data"></div> 
    </body> 

और प्रासंगिक सीएसएस:

body {margin: 0; font: 18px Helvetica; text-align: center; background-color: #000; background: url(../img/bg_big.png) repeat; 
     -webkit-user-select: none; /* prevent copy paste for all elements */ 
     } 
    #container { width:320px; height:460px; overflow: hidden;} 

    input{ -webkit-user-select: text; /* enable copy paste for elements with this class */} 
    a {-webkit-user-select: none; /* prevent copy paste for all elements */} 
    span {-webkit-user-select: none; /* prevent copy paste for all elements */} 

    #side-menu {z-index: 1000 !important; position: fixed; height: 460px; width: 56.5px; background: url(../img/bg_big.png) no-repeat; display: inline-block; 
    overflow: hidden; top: 0px; left: 0px; } 
    #header_top {background: url(../img/header/header_top.png) no-repeat; background-size: 56.5px 48.96px; width: 56.5px; height: 48.96px; display: block;} 
    #header_dives {background: url(../img/header/dives.png) no-repeat; background-size: 56.5px 51.75px; width: 56.5px; height: 51.75px; display: block;} 
    #header_dives.selected{background: url(../img/header/dives_selected.png) no-repeat;} 
    #header_spacer1{background: url(../img/header/header_space1.png) no-repeat; background-size: 56.5px 13.9px; width: 56.5px; height: 13.9px; display: block;} 
    #header_explore{background: url(../img/header/explore.png) no-repeat; background-size: 56.5px 51.75px; width: 56.5px; height: 51.75px; display: block;} 
    #header_explore.selected{background: url(../img/header/explore_selected.png) no-repeat;} 
    #header_spacer2{background: url(../img/header/header_space2.png) no-repeat; background-size: 56.5px 15.33px; width: 56.5px; height: 15.33px; display: block;} 
    #header_search{background: url(../img/header/search.png) no-repeat; background-size: 56.5px 51.75px; width: 56.5px; height: 51.75px; display: block;} 
    #header_search.selected{background: url(../img/header/search_selected.png) no-repeat;} 
    #header_spacer3{background: url(../img/header/header_space3.png) no-repeat; background-size: 56.5px 17.73px; width: 56.5px; height: 17.73px; display: block;} 
    #header_settings{background: url(../img/header/settings.png) no-repeat; background-size: 56.5px 51.75px; width: 56.5px; height: 51.75px; display: block;} 
    #header_settings.selected{background: url(../img/header/settings_selected.png) no-repeat;} 
    #header_bottom{background: url(../img/header/header_bottom.png) no-repeat; background-size: 56.5px 160px; width: 56.5px; height: 160px; display: block;} 

    .hidden {display: none;} 
    .right_pane{width: 263.5px !important; background: url(../img/right_bg.png) no-repeat; background-size:263.5px 460px; width: 263.5px; height: 460px; left: 56.5px !important;} 
    #slide_mask{ display: inline-block; overflow: hidden; padding-left: 56.5px; width: 263.5px; height: 460px; top: 0;} 

और जेएस का बिट:

/////////////////////////////////// 
    //MENU MECHANICS 
    /////////////////////////////////// 

    function showdives(){ 
     $("#side-menu .selected").removeClass("selected"); 
     $("#header_dives").addClass("selected"); 
    } 

    function showexplore(){ 
     $("#side-menu .selected").removeClass("selected"); 
     $("#header_explore").addClass("selected"); 
    } 
    function showsearch(){ 
     $("#side-menu .selected").removeClass("selected"); 
     $("#header_search").addClass("selected"); 
    } 
    function showsettings(){ 
     $("#side-menu .selected").removeClass("selected"); 
     $("#header_settings").addClass("selected"); 
    } 

ऑनक्लिक विधियां केवल मेनू आइटम से/"चयनित" कक्षा को जोड़/हटाती हैं।

+0

समस्या का अच्छा वीडियो और स्पष्टीकरण। आपकी समस्या शायद आपके जावास्क्रिप्ट में है, इसलिए आपको उस कोड को भी शामिल करना चाहिए। – Spike

+0

किया गया :) जैसा कि आप इसे सीधे देख सकते हैं ... –

+0

भी एक पॉप की तरह "पॉप" और "फ्लिप" काम को बदलता है –

उत्तर

3

मेरा मानना ​​है कि लोग इसे "झिलमिलाहट" के रूप में संदर्भित करते हैं, इसलिए जब आप इसकी खोज करेंगे तो आपके पास बेहतर परिणाम होंगे। चारों ओर देखने के बाद, ऐसा लगता है कि आपकी समस्या की तरह एंड्रॉयड पर आम है और निम्नलिखित सीएसएस जोड़कर हल किया जा सकता:

+1

हाय स्पाइक - कोशिश की लेकिन यह नहीं है :(मुझे वास्तव में यह नहीं लगता कि यह झटकेदार है:/ –

+0

हम्म ... क्षमा करें मुझे तब नहीं पता। शायद कुछ एंड्रॉइड एमुलेटर के साथ? क्या यह आईओएस में एक ही चीज करता है? – Spike

+0

मेरे पास केवल आईओएस पर जारीकर्ता है - एंड्रॉइड ठीक है (और दोनों मामलों में इमू और डिवाइस वही व्यवहार करते हैं) –

3

मैं और मेरे दोस्त जे का उपयोग कर रहे हैं प्रश्न 1.2।

इस समस्या को हल करने का तरीका डेटा-संक्रमण = "कोई नहीं" रखना था। हो सकता है कि यह मोबाइल

शैली बहुत अधिक दिखाई दे, लेकिन झटकेदार समस्या को काम करता है और हटा देता है।

इस सहायता की आशा करें।

0

फ़ोनगैप में एक jquery मोबाइल ऐप लपेटते समय भी मुझे एक ही समस्या थी, लेकिन इससे भी बदतर। न केवल पेज संक्रमण झिलमिलाहट थे, लेकिन यूआई पूरी तरह टूट गया था। मैंने इस ऐप में Jquery 1.8 और Jquery मोबाइल 1.2 का उपयोग किया।

मैंने SO पर सुझाए गए अधिकांश समाधानों का प्रयास किया है, लेकिन कुछ भी काम नहीं किया है। तब मुझे Piotr Walczyszyn द्वारा this समाधान मिला, और सब कुछ एक सपने की तरह काम किया! Jquery मोबाइल और फोनगैप का उपयोग करके किसी के भी अत्यधिक अनुशंसा की जाती है।

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