Pêveka modal a JavaScript-ê ya Bootstrap bikar bînin da ku ji bo sivik, agahdariya bikarhêner, an naveroka tevahî xwerû diyalogan li malpera xwe zêde bikin.
Çawa dixebite
Berî ku hûn dest bi pêkhateya modal a Bootstrap-ê bikin, pê ewle bin ku hûn jêrîn bixwînin ji ber ku vebijarkên menuya me di van demên dawî de hatine guhertin.
Modal bi HTML, CSS, û JavaScriptê têne çêkirin. Ew li ser her tiştê din di belgeyê de cih digirin û ji pelgeyê derdixin <body>da ku naveroka modal li şûna wê bizivire.
Bi tikandina li ser modal "backdrop" dê modal bixweber bigire.
Bootstrap tenê yek carî pencereyek modal piştgirî dike. Modalên nested nayên piştgirî kirin ji ber ku em bawer dikin ku ew ezmûnên bikarhêner ên xizan in.
Modal bikar tînin position: fixed, ku carinan dikare di derbarê vegotina wê de hinekî taybetî be. Kengê ku gengaz be, HTML-a xweya modal li cîhek asta jorîn bi cîh bikin da ku ji destwerdana potansiyel a hêmanên din dûr bikevin. .modalDema ku hûn di nav hêmanek din a sabît de nehêlin hûn ê di nav pirsgirêkan de derkevin .
Ji ber ku HTML5 çawa semantîka xwe diyar dike, taybetmendiya autofocusHTML -ê di modalên Bootstrap de bandorek nake. Ji bo bidestxistina heman bandorê, hin JavaScript-a xwerû bikar bînin:
Ji bo demo û rêbernameyên karanîna xwendinê bidomînin.
Examples
pêkhateyên modal
Li jêr mînakek modal a statîk heye (wateya wê positionû displayhatî rakirin). Di nav de sernivîsa modal, laşê modal (ji bo pêdivî ye padding), û pêlava modal (vebijarkî) hene. Em daxwaz dikin ku hûn sernavên modal bi çalakiyên betalkirinê re her ku dibe bila bibin, an jî çalakiyek din a betalkirina eşkere peyda bikin.
Sernavê modal
Nivîsara laşê modal li vir diçe.
Demo zindî
Bi tikandina bişkoja li jêr, demoyek modal a xebitandinê bişkînin. Ew ê ji jorê rûpelê ve biçe xwarê û têkeve hundur.
Modal title
Woohoo, you're reading this text in a modal!
Scrolling naveroka dirêj
Dema ku modal ji bo dîmendera bikarhêner an cîhaza bikarhêner pir dirêj dibin, ew ji rûpelê bixwe dimeşin. Demoya jêrîn biceribînin ku em bibînin ka mebesta me çi ye.
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.
Vertically navend
Li navenda modalê ya vertîkal zêde .modal-dialog-centeredbikin ..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.
Tooltips û popovers
Li gorî hewcedariyên pêlav û popover dikarin di nav modalan de werin danîn. Dema ku modal têne girtin, her serişteyên amûr û popoverên hundur jî bixweber têne derxistin.
Pergala tora Bootstrap-ê di nav modalekê de bi hêlîna di .container-fluidhundurê de bikar bînin .modal-body. Dûv re, dersên pergala torê ya normal wekî ku hûn li cîhek din bikar bînin bikar bînin.
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
Naveroka modal a cihêreng
Xwedî komek bişkok hene ku hemî heman modalê bi naverokên hinekî cûda vedigirin? Taybetmendiyênevent.relatedTarget HTML û HTML-êdata-* bikar bînin (dibe ku bi riya jQuery ) ve girêdayî naveroka modalê li gorî kîjan bişkojkê hatî klîk kirin biguhezînin.
Li jêr demoyek zindî ye ku li dû mînaka HTML û JavaScriptê ye. Ji bo bêtir agahdarî, ji bo hûrguliyên li ser belgeyên bûyerên modal bixwîninrelatedTarget .
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>
Anîmasyonê rakin
Ji bo modalên ku bi hêsanî xuya dikin ne ku di nav dîtinê de biqewimin, polê ji nîşankirina modaliya xwe derxînin .fade.
Bilindahiya dînamîk
Ger bilindahiya modalekê di dema vekirî de biguhere, divê hûn bang bikin $('#myModal').modal('handleUpdate')ku pozîsyona modalê ji nû ve rast bikin heke barek gerok xuya bibe.
Gihîştina
Bê guman lê zêde bikin role="dialog"û aria-labelledby="...", sernavê modal, bi .modal, û role="document"bi .modal-dialogxwe re referans bikin. Wekî din, hûn dikarin ravekirina diyaloga xweya modal bi aria-describedbyli ser re bidin .modal.
Veguheztina vîdyoyên YouTube
Veguheztina vîdyoyên YouTube-ê di modalan de JavaScriptek din hewce dike ku ne di Bootstrap-ê de ye da ku bixweber lîstin û bêtir rawestîne. Ji bo bêtir agahdarî vê posta alîkar a Stack Overflow bibînin.
Mezinahiyên Bijarî
Modal xwedan du mezinahiyên vebijarkî ne, ku bi navgîniya dersên guhêrbar ve têne peyda kirin ku li ser a .modal-dialog. Van mezinahî di hin xalên veqetandinê de dikevin da ku li ser dîmenderên teng ji hêlînên horizontî dûr bikevin.
Large modal
...
Small modal
...
Bikaranîna
Pêveka modal li gorî daxwazê, bi navgîniya taybetmendiyên daneyê an JavaScript-ê naveroka weya veşartî diguhezîne. Di heman demê de ew li ser guheztina tevgera gerokê ya xwerû jî zêde dike .modal-openû <body>ji .modal-backdropbo ku li derveyî modalê bitikîne deverek klîk peyda bike ji bo rakirina modalên nîşandayî jî zêde dike.
Bi taybetmendiyên daneyê
Bêyî nivîsandina JavaScriptê modalek çalak bikin. Li data-toggle="modal"ser hêmanek kontrolker, mîna bişkokek, bi hev re data-target="#foo"an jî href="#foo"ji bo veguheztina modalek taybetî were danîn.
Bi rêya JavaScript
myModalBi yek rêzek JavaScript re modalek bi id re bang bikin :
Vebijêrk
Vebijark dikarin bi taybetmendiyên daneyan an JavaScriptê ve werin derbas kirin. Ji bo taybetmendiyên daneyê, navê vebijarkê lê zêde bikin data-, wekî di data-backdrop="".
Nav
Awa
Destçûnî
Terîf
paşperdeya
boolean an string'static'
rast
Hêmanek modal-backdrop tê de ye. Wekî din, staticji bo paşnavek ku modalê li ser klîk negire diyar bikin.
kilawye
boolean
rast
Dema ku bişkojka revê tê pêlkirin modalê digire
focus
boolean
rast
Dema ku dest pê dike bala xwe dide modalê.
rêdan
boolean
rast
Dema ku tê destpêkirin modalê nîşan dide.
Methods
Rêbaz û veguherînên Asynchronous
Hemî rêbazên API-ê asynkron in û veguherînek dest pê dikin . Gava ku veguhêz dest pê kir lê berî ku biqede ew vedigerin bangkerê . Wekî din, bangek rêbazek li ser pêkhateyek veguhêz dê were paşguh kirin.
Naveroka we wekî modal çalak dike. Vebijêrkek vebijarkî qebûl objectdike.
.modal('toggle')
Modalek bi destan diguhezîne. Berî ku modal bi rastî were xuyang kirin an veşartin (ango berî ku bûyer shown.bs.modalan hidden.bs.modalbûyer çêbibe) vedigere bangkerê.
.modal('show')
Bi destan modalek vedike. Berî ku modal bi rastî were xuyang kirin (ango berî ku shown.bs.modalbûyer çêbibe) vedigere bangewazî.
.modal('hide')
Bi destan modalek vedişêre. Berî ku modal bi rastî veşêre (ango berî ku hidden.bs.modalbûyer çêbibe) vedigere bangewazî.
.modal('handleUpdate')
Ger bilindahiya modalekê dema vekirî ye biguhere, bi destan pozîsyona modalê ji nû ve sererast bike (ango heke barek gerok xuya bibe).
.modal('dispose')
Modala hêmanekê hilweşîne.
Events
Dersa modal a Bootstrap çend bûyeran ji bo girêdana fonksiyonên modal eşkere dike. Hemî bûyerên modal li modal bixwe (ango li <div class="modal">).
Cureyê bûyerê
Terîf
nîşan bide.bs.modal
showDema ku rêbaza nimûneyê tê gazî kirin ev bûyer tavilê dişewite. Ger ji ber klîkekê be, hêmana klîkkirî wekî relatedTargettaybetmendiya bûyerê peyda dibe.
nîşan dan.bs.modal
Dema ku modal ji bikarhênerê re xuya bibe ev bûyer tê şewitandin (dê li benda bidawîbûna veguheztinên CSS bimîne). Ger ji ber klîkekê be, hêmana klîkkirî wekî relatedTargettaybetmendiya bûyerê peyda dibe.
veşêre.bs.modal
hideDema ku rêbaza nimûneyê hate gazîkirin , ev bûyer tavilê tê şewitandin .
veşartî.bs.modal
Dema ku modal ji bikarhênerê veşartî qediya ev bûyer tê şewitandin (dê li benda bidawîbûna veguheztinên CSS bimîne).