2011-06-27 3 views
14

आम तौर पर, बनाना = "पेज" तत्व jQuery मोबाइल के साथ, यह पूरे अवलोकन क्षेत्र में ले जाता है। इस कारण से, मुझे समझ में नहीं आता कि साइडबार कैसे बनाएं। मैं निम्नलिखित अनुकरण करने के लिए चाहते हैं, लेकिन स्रोत देखें ज्यादा मदद नहीं करता है:जब आप एक डेटा भूमिका बनाने के jQuery में एक साइडबार मोबाइल

http://jquerymobile.com/demos/1.0b1/docs/lists/index.html

सूचना है कि जब आप सूची में किसी आइटम पर क्लिक करें, यह एक साइडबार में बदल जाता है और मुख्य में एक और सूची से पता चलता सामग्री क्षेत्र। इसके अतिरिक्त, यदि प्रदर्शन पर्याप्त रूप से संकुचित हो जाता है तो यह केवल मुख्य सामग्री क्षेत्र प्रदर्शित करता है। क्या jQuery मोबाइल में कोई विशेष सुविधा है जो इसकी अनुमति देती है, या इसके पीछे अपारदर्शी जावास्क्रिप्ट और सीएसएस की बड़ी मात्रा है?

उत्तर

13

बीटा स्प्लिट देखें वाक्य रचना आप "साइडबार" इस ​​तरह नियंत्रित कर सकते हैं भर में देख रहे हैं:

<div data-role="page" id="jqm-home" class="type-home"> 
    <div data-role="content"> 
     <div class="content-secondary"> 
      This would be the sidebar/split view on a tablet, 
      would show up stacked on a mobile device 
     </div><!-- end content-secondary -->  

     <div class="content-primary"> 
      This is the main content. 

      If Tablet device this would be to the right of the above content, 
      if mobile this would be below the above content. 

     </div><!-- end content-primary --> 
    </div><!-- end content --> 
</div><!-- end page --> 

डॉक्स: http://jquerymobile.com/demos/1.0b1/docs/_assets/css/jqm-docs.css

: http://jquerymobile.com/demos/1.0b1/

प्रासंगिक सीएसएस (सही स्रोत देखने के लिए क्लिक करें) एक सभ्य ALA लेख मीडिया क्वेरी के बारे में बात (क्या वे ऐसा करने के लिए प्रयोग किया जाता है): http://www.alistapart.com/articles/responsive-web-design/

+0

हाँ मैंने इसे भी देखा, लेकिन मुझे नहीं लगता कि वास्तव में साइडबार बनाया गया है। मेरा मानना ​​है कि आपके द्वारा दिए गए लिंक में दिखाए गए दो अलग-अलग सूचियों को विभाजित करने के लिए कोड है। यही कारण है कि मुझे नहीं लगता कि "दृश्य स्रोत" इस संदर्भ में सहायक है ... यह केवल दिखाता है कि डेमो की जड़ कैसा दिखता है। जो डेमो के लिए अतिरिक्त सीएसएस है - - http://jquerymobile.com/demos/1.0b1/docs/_assets/css/jqm-docs.css पर एक नज़र डालें - –

+3

यह वास्तव में कैसे साइडबार पूरा किया जाता है वे कर रहे हैं पर्याप्त स्क्रीन रीयल एस्टेट होने पर बाईं ओर # सामग्री-माध्यमिक को धक्का देने के लिए केवल मीडिया प्रश्नों का उपयोग करना। –

+0

मैं सही खड़ा हूं, लेकिन मैं अभी भी उलझन में हूं। जब मैं साइडबार में किसी भी लिंक पर क्लिक करने से ऊपर कोड का अनुकरण करने की कोशिश नए डेटा-भूमिका द्वारा प्रतिस्थापित किया जा करने के लिए पूरे दृश्य का कारण बनता है = "पेज" तत्व मैं से जुड़ा हुआ। वांछित व्यवहार (जो डेमो है) मुख्य सामग्री क्षेत्र और साइडबार बनी हुई है। लिंकिंग काम कैसे करता है? –

0

आपको इस कोड को जावास्क्रिप्ट फ़ाइल में जोड़ने की आवश्यकता है:

function setPositions(){ 
    var winwidth = $(window).width() 

    if(winwidth >= 750){ 
     $('.content-secondary').css({'float':'left','width':'35%'}); 
     $('.content-primary').css({'margin-left':'36%'}); 
    } 
    else{ 
     $('.content-secondary').css({'float':'none','width':'100%'}); 
     $('.content-primary').css({'margin-left':'0px'}); 
    } 
} 


$(function(){ 
    setDefaultTransition(); 
    $(window).bind("throttledresize", setPositions); 
}); 
+3

आमतौर पर जावास्क्रिप्ट के साथ करना अच्छा नहीं है सीएसएस के साथ क्या किया जाना चाहिए। –

+0

आप के बजाय CSS मीडिया क्वेरी के साथ ऐसा करना चाहिए, कृपया इसे पढ़ें: http://www.w3.org/TR/css3-mediaqueries/ –

+0

मैं मीडिया से भी अधिक क्वेरी js का उपयोग करना पसंद ... ... सीएसएस चाहिए ** नहीं * * तर्क को संभालने के लिए इस्तेमाल किया जाए (यही मीडिया प्रश्न प्रभावी ढंग से कर रहे हैं) ... यह एक स्क्रिप्टिंग भाषा का काम है, जैसे जेएस ... ... ... सीएसएस का काम डेटा पकड़ना है (मूल रूप से एक "डेटाबेस" लेआउट से संबंधित मानों का जो पार्सिंग के दौरान "पूछताछ" है) – dsdsdsdsd

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