लाइटबॉक्स, उपयोगकर्ता सूचनाओं, या पूरी तरह से कस्टम सामग्री के लिए अपनी साइट पर संवाद जोड़ने के लिए बूटस्ट्रैप के जावास्क्रिप्ट मोडल प्लगइन का उपयोग करें।
यह काम किस प्रकार करता है
बूटस्ट्रैप के मोडल घटक के साथ आरंभ करने से पहले, निम्नलिखित को पढ़ना सुनिश्चित करें क्योंकि हमारे मेनू विकल्प हाल ही में बदल गए हैं।
मॉडल एचटीएमएल, सीएसएस और जावास्क्रिप्ट के साथ बनाए गए हैं। वे दस्तावेज़ में बाकी सब चीजों पर स्थित हैं और स्क्रॉल को हटा दें <body>ताकि इसके बजाय मोडल सामग्री स्क्रॉल हो।
मोडल "बैकड्रॉप" पर क्लिक करने से मोडल अपने आप बंद हो जाएगा।
बूटस्ट्रैप एक समय में केवल एक मोडल विंडो का समर्थन करता है। नेस्टेड मोडल समर्थित नहीं हैं क्योंकि हम मानते हैं कि वे खराब उपयोगकर्ता अनुभव हैं।
मॉडल उपयोग करते हैं position: fixed, जो कभी-कभी इसके प्रतिपादन के बारे में थोड़ा विशेष हो सकता है। जब भी संभव हो, अन्य तत्वों से संभावित हस्तक्षेप से बचने के लिए अपने मोडल HTML को शीर्ष-स्तरीय स्थिति में रखें। .modalकिसी अन्य निश्चित तत्व के भीतर घोंसला बनाते समय आप समस्याओं में भाग लेंगे ।
HTML5 अपने शब्दार्थ को कैसे परिभाषित करता है, इसके कारण बूटस्ट्रैप मोडल में autofocusHTML विशेषता का कोई प्रभाव नहीं पड़ता है। समान प्रभाव प्राप्त करने के लिए, कुछ कस्टम JavaScript का उपयोग करें:
डेमो और उपयोग दिशानिर्देशों के लिए पढ़ते रहें।
उदाहरण
मोडल घटक
नीचे एक स्थिर मोडल उदाहरण है (जिसका अर्थ है इसका positionऔर displayओवरराइड किया गया है)। मोडल हेडर, मोडल बॉडी (के लिए आवश्यक padding), और मोडल फ़ुटर (वैकल्पिक) शामिल हैं। हम चाहते हैं कि जब भी संभव हो, आप ख़ारिज कार्रवाइयों के साथ मोडल हेडर शामिल करें, या कोई अन्य स्पष्ट बर्खास्तगी कार्रवाई प्रदान करें।
मॉडल शीर्षक
मोडल बॉडी टेक्स्ट यहां जाता है।
लाइव डेमो
नीचे दिए गए बटन पर क्लिक करके कार्यशील मोडल डेमो को टॉगल करें। यह नीचे की ओर खिसकेगा और पृष्ठ के शीर्ष से फीका हो जाएगा।
Modal title
Woohoo, you're reading this text in a modal!
लंबी सामग्री स्क्रॉल करना
जब उपयोगकर्ता के व्यूपोर्ट या डिवाइस के लिए मोडल बहुत लंबे हो जाते हैं, तो वे पेज से स्वतंत्र रूप से स्क्रॉल करते हैं। हमारा क्या मतलब है यह देखने के लिए नीचे दिए गए डेमो का प्रयास करें।
Modal title
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
लंबवत केंद्रित
मोडल को लंबवत केंद्र में .modal-dialog-centeredजोड़ें ।.modal-dialog
Modal title
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
टूलटिप्स और पॉपओवर
टूलटिप्स और पॉपओवर को आवश्यकतानुसार मोडल में रखा जा सकता है। जब मोडल बंद हो जाते हैं, तो कोई भी टूलटिप और पॉपओवर भी अपने आप खारिज हो जाते हैं।
. _ .container-fluid_ .modal-bodyफिर, सामान्य ग्रिड सिस्टम कक्षाओं का उपयोग करें जैसा कि आप कहीं और करेंगे।
Grids in modals
.col-md-4
.col-md-4 .ml-auto
.col-md-3 .ml-auto
.col-md-2 .ml-auto
.col-md-6 .ml-auto
Level 1: .col-sm-9
Level 2: .col-8 .col-sm-6
Level 2: .col-4 .col-sm-6
भिन्न मोडल सामग्री
बटनों का एक गुच्छा है जो सभी एक ही मोडल को थोड़ा अलग सामग्री के साथ ट्रिगर करते हैं? किस बटन पर क्लिक किया गया था, इसके आधार पर मोडल की सामग्री को बदलने के लिए event.relatedTargetHTML विशेषताओं data-*( संभवतः jQuery के माध्यम से ) का उपयोग करें ।
नीचे एक लाइव डेमो दिया गया है जिसके बाद HTML और JavaScript का उदाहरण दिया गया है। अधिक जानकारी के लिए, विवरण के लिए मोडल इवेंट डॉक्स पढ़ेंrelatedTarget ।
New message
<buttontype="button"class="btn btn-primary"data-toggle="modal"data-target="#exampleModal"data-whatever="@mdo">Open modal for @mdo</button><buttontype="button"class="btn btn-primary"data-toggle="modal"data-target="#exampleModal"data-whatever="@fat">Open modal for @fat</button><buttontype="button"class="btn btn-primary"data-toggle="modal"data-target="#exampleModal"data-whatever="@getbootstrap">Open modal for @getbootstrap</button><divclass="modal fade"id="exampleModal"tabindex="-1"role="dialog"aria-labelledby="exampleModalLabel"aria-hidden="true"><divclass="modal-dialog"role="document"><divclass="modal-content"><divclass="modal-header"><h5class="modal-title"id="exampleModalLabel">New message</h5><buttontype="button"class="close"data-dismiss="modal"aria-label="Close"><spanaria-hidden="true">×</span></button></div><divclass="modal-body"><form><divclass="form-group"><labelfor="recipient-name"class="col-form-label">Recipient:</label><inputtype="text"class="form-control"id="recipient-name"></div><divclass="form-group"><labelfor="message-text"class="col-form-label">Message:</label><textareaclass="form-control"id="message-text"></textarea></div></form></div><divclass="modal-footer"><buttontype="button"class="btn btn-secondary"data-dismiss="modal">Close</button><buttontype="button"class="btn btn-primary">Send message</button></div></div></div></div>
एनिमेशन हटाएं
उन मोडल के लिए जो देखने में फीका होने के बजाय बस दिखाई देते हैं, .fadeअपने मोडल मार्कअप से क्लास को हटा दें।
गतिशील ऊंचाई
यदि किसी मोडल के खुले रहने के दौरान उसकी ऊंचाई बदल जाती है, तो आपको $('#myModal').modal('handleUpdate')स्क्रॉलबार दिखाई देने की स्थिति में मोडल की स्थिति को फिर से समायोजित करने के लिए कॉल करना चाहिए।
सरल उपयोग
जोड़ने के लिए सुनिश्चित करें role="dialog"और aria-labelledby="...", मोडल शीर्षक को संदर्भित करते हुए .modal, और स्वयं के role="document"लिए । .modal-dialogइसके अतिरिक्त, आप अपने मोडल डायलॉग का विवरण aria-describedbyऑन के साथ दे सकते हैं .modal।
YouTube वीडियो एम्बेड करना
YouTube वीडियो को मोडल में एम्बेड करने के लिए अतिरिक्त जावास्क्रिप्ट की आवश्यकता होती है, न कि बूटस्ट्रैप में स्वचालित रूप से प्लेबैक को रोकने के लिए और बहुत कुछ। अधिक जानकारी के लिए यह सहायक स्टैक ओवरफ़्लो पोस्ट देखें।
वैकल्पिक आकार
मॉडल में दो वैकल्पिक आकार होते हैं, जो संशोधक वर्गों के माध्यम से उपलब्ध होते हैं जिन्हें .modal-dialog. संकरे व्यूपोर्ट पर क्षैतिज स्क्रॉलबार से बचने के लिए ये आकार कुछ निश्चित विराम बिंदुओं पर आते हैं।
Large modal
...
Small modal
...
प्रयोग
मोडल प्लगइन आपकी छिपी सामग्री को डेटा विशेषताओं या जावास्क्रिप्ट के माध्यम से मांग पर टॉगल करता है। .modal-openयह डिफ़ॉल्ट स्क्रॉलिंग व्यवहार को ओवरराइड करने के लिए भी जोड़ता है और मोडल के बाहर क्लिक करते समय दिखाए गए मॉडल को खारिज करने के लिए एक क्लिक क्षेत्र प्रदान करने के लिए <body>उत्पन्न करता है ।.modal-backdrop
डेटा विशेषताओं के माध्यम से
जावास्क्रिप्ट लिखे बिना एक मोडल सक्रिय करें। टॉगल करने के लिए एक विशिष्ट मोडल को लक्षित करने या लक्षित करने data-toggle="modal"के लिए एक बटन की तरह एक नियंत्रक तत्व पर सेट करें ।data-target="#foo"href="#foo"
जावास्क्रिप्ट के माध्यम से
myModalजावास्क्रिप्ट की एक पंक्ति के साथ आईडी के साथ एक मोडल को कॉल करें :
विकल्प
विकल्प डेटा विशेषताओं या जावास्क्रिप्ट के माध्यम से पारित किए जा सकते हैं। डेटा विशेषताओं के लिए, विकल्प नाम को में जोड़ें data-, जैसा कि में है data-backdrop=""।
नाम
टाइप
चूक
विवरण
पृष्ठभूमि
बूलियन या स्ट्रिंग'static'
सच
एक मोडल-बैकड्रॉप तत्व शामिल है। वैकल्पिक रूप से, उस पृष्ठभूमि के लिए निर्दिष्ट करें staticजो क्लिक पर मोडल को बंद नहीं करता है।
कीबोर्ड
बूलियन
सच
एस्केप कुंजी दबाए जाने पर मोडल बंद कर देता है
केंद्र
बूलियन
सच
इनिशियलाइज़ होने पर मोडल पर फ़ोकस करता है।
प्रदर्शन
बूलियन
सच
प्रारंभ होने पर मोडल दिखाता है।
तरीकों
अतुल्यकालिक तरीके और संक्रमण
सभी एपीआई विधियाँ अतुल्यकालिक हैं और एक संक्रमण शुरू करती हैं । ट्रांज़िशन शुरू होते ही वे कॉलर के पास वापस आ जाते हैं लेकिन उसके समाप्त होने से पहले । इसके अलावा, एक संक्रमण घटक पर एक विधि कॉल को नजरअंदाज कर दिया जाएगा ।
आपकी सामग्री को एक मोडल के रूप में सक्रिय करता है। एक वैकल्पिक विकल्प स्वीकार करता है object।
.modal('toggle')
एक मोडल को मैन्युअल रूप से टॉगल करता है। मोडल को वास्तव में दिखाया या छुपाया गया है (यानी shown.bs.modalया hidden.bs.modalघटना होने से पहले) कॉलर पर वापस आ जाता है।
.modal('show')
मैन्युअल रूप से एक मोडल खोलता है। मोडल वास्तव में दिखाया गया है (यानी shown.bs.modalघटना होने से पहले) कॉलर को वापस लौटाता है।
.modal('hide')
मैन्युअल रूप से एक मोडल छुपाता है। मोडल वास्तव में छुपाया गया है (यानी hidden.bs.modalघटना होने से पहले) कॉलर पर वापस आ जाता है।
.modal('handleUpdate')
मोडल की स्थिति को मैन्युअल रूप से समायोजित करें यदि एक मोडल की ऊंचाई खुली होने पर बदलती है (यानी यदि स्क्रॉलबार दिखाई देता है)।
.modal('dispose')
एक तत्व के मोडल को नष्ट कर देता है।
आयोजन
बूटस्ट्रैप का मोडल क्लास मोडल कार्यक्षमता में शामिल होने के लिए कुछ घटनाओं को उजागर करता है। सभी मोडल इवेंट्स को मोडल पर ही (यानी पर <div class="modal">) निकाल दिया जाता है।
घटना प्रकार
विवरण
शो.बीएस.मोडल
showइंस्टेंस विधि को कॉल करने पर यह घटना तुरंत सक्रिय हो जाती है। यदि एक क्लिक के कारण होता है, तो क्लिक किया गया तत्व relatedTargetघटना की संपत्ति के रूप में उपलब्ध होता है।
दिखाया गया.बीएस.मोडल
यह घटना तब सक्रिय हो जाती है जब मोडल को उपयोगकर्ता के लिए दृश्यमान बना दिया जाता है (सीएसएस ट्रांज़िशन पूरा होने की प्रतीक्षा करेगा)। यदि एक क्लिक के कारण होता है, तो क्लिक किया गया तत्व relatedTargetघटना की संपत्ति के रूप में उपलब्ध होता है।
छुपाएं.बीएस.मोडल
hideइंस्टेंस विधि को कॉल किए जाने पर इस घटना को तुरंत निकाल दिया जाता है।
हिडन.बीएस.मोडल
इस घटना को निकाल दिया जाता है जब मोडल उपयोगकर्ता से छुपाया जा रहा है (सीएसएस संक्रमण पूरा होने की प्रतीक्षा करेगा)।