JavaScript за Bootstrap

Вдъхнете живот на компонентите на Bootstrap – сега с 13 персонализирани jQuery добавки.

Индивидуално или съставено

Ако сте изтеглили най-новата версия на Bootstrap, както bootstrap.js , така и bootstrap.min.js съдържат всички добавки, изброени на тази страница.

Атрибути на данните

Можете да използвате всички добавки за Bootstrap само чрез API за маркиране, без да пишете нито един ред JavaScript. Това е първият клас API на Bootstrap и трябва да бъде вашето първо внимание, когато използвате плъгин.

Въпреки това в някои ситуации може да е желателно да изключите тази функционалност. Следователно, ние също така предоставяме възможност за деактивиране на API на атрибута на данните, като развържем всички събития в пространството от имена на тялото с `'data-api'`. Това изглежда така:

  1. $ ( 'тяло' ). изключен ( '.data-api' )

Като алтернатива, за да се насочите към конкретен плъгин, просто включете името на плъгина като пространство от имена заедно с пространството от имена на API за данни по този начин:

  1. $ ( 'тяло' ). изключено ( '.alert.data-api' )

Програмен API

Също така вярваме, че трябва да можете да използвате всички приставки за Bootstrap само чрез JavaScript API. Всички публични API са единични, верижни методи и връщат колекцията, по която са действали.

  1. $ ( ".btn.danger" ). бутон ( "превключване" ). addClass ( "дебел" )

Всички методи трябва да приемат незадължителен обект с опции, низ, който е насочен към определен метод, или нищо (което инициира плъгин с поведение по подразбиране):

  1. $ ( "#myModal" ). модален () // инициализира се със стойности по подразбиране
  2. $ ( "#myModal" ). modal ({ keyboard : false }) // инициализирано без клавиатура
  3. $ ( "#myModal" ). modal ( 'show' ) // инициализира и извиква show веднага

Всеки плъгин също излага своя необработен конструктор на свойството `Constructor`: $.fn.popover.Constructor. Ако искате да получите конкретен екземпляр на приставка, извлечете го директно от елемент: $('[rel=popover]').data('popover').

събития

Bootstrap предоставя персонализирани събития за повечето уникални действия на плъгина. Обикновено те идват във форма на инфинитив и минало причастие - където инфинитивът (напр. show) се задейства в началото на събитие, а неговата форма на минало причастие (напр. shown) се задейства при завършване на действие.

Всички безкрайни събития предоставят функция preventDefault. Това дава възможност да спрете изпълнението на действие, преди то да започне.

  1. $ ( '#myModal' ). on ( 'show' , function ( e ) {
  2. ако (! данни ) върне e . preventDefault () // спира модалното показване
  3. })

Относно преходите

За прости ефекти на преход, включете bootstrap-transition.js веднъж заедно с другите JS файлове. Ако използвате компилиран (или минимизиран) bootstrap.js, няма нужда да включвате това – то вече е там.

Случаи на употреба

Няколко примера за приставката за преход:

  • Плъзгане или избледняване в модали
  • Избледняващи раздели
  • Избледняващи сигнали
  • Плъзгащи се въртележки

Примери

Модалните са рационализирани, но гъвкави диалогови подкани с минимално необходимата функционалност и интелигентни настройки по подразбиране.

Статичен пример

Изобразен модал със заглавка, тяло и набор от действия в долния колонтитул.

  1. <div class = "modal hide fade" >
  2. <div class = "modal-header" >
  3. <button type = "button" class = "close" data-dismiss = "modal" aria-hidden = "true" > × </button>
  4. <h3> Модално заглавие </h3>
  5. </div>
  6. <div class = "modal-body" >
  7. <p> Едно хубаво тяло... </p>
  8. </div>
  9. <div class = "modal-footer" >
  10. <a href = "#" class = "btn" > Затваряне </a>
  11. <a href = "#" class = "btn btn-primary" > Запазете промените </a>
  12. </div>
  13. </div>

Демо на живо

Превключете модал чрез JavaScript, като щракнете върху бутона по-долу. Той ще се плъзне надолу и ще изчезне от горната част на страницата.

  1. <-- Бутон за задействане на модал -->
  2. <a href = "#myModal" role = "button" class = "btn" data-toggle = "modal" > Стартиране на демо модал </a>
  3.  
  4. <-- Модален -->
  5. <div class = "modal" id = "myModal" tabindex = "-1" role = "dialog" aria-labelledby = "myModalLabel" aria-hidden = "true" >
  6. <div class = "modal-header" >
  7. <button type = "button" class = "close" data-dismiss = "modal" aria-hidden = "true" > × </button>
  8. <h3 id = "myModalLabel" > Модална заглавка </h3>
  9. </div>
  10. <div class = "modal-body" >
  11. <p> Едно хубаво тяло... </p>
  12. </div>
  13. <div class = "modal-footer" >
  14. <button class = "btn" data-dismiss = "modal" aria-hidden = "true" > Затваряне </button>
  15. <button class = "btn btn-primary" > Запазване на промените </button>
  16. </div>
  17. </div>

Използване

Чрез атрибути на данни

Активирайте модал, без да пишете JavaScript. Задайте data-toggle="modal"елемент на контролер, като бутон, заедно с data-target="#foo"или href="#foo"за насочване към конкретен модал за превключване.

  1. <button type = "button" data-toggle = "modal" data-target = "#myModal" > Стартиране на modal </button>

Чрез JavaScript

Извикайте модал с идентификатор myModalс един ред на JavaScript:

  1. $ ( '#myModal' ). модален ( опции )

Настроики

Опциите могат да се предават чрез атрибути на данни или JavaScript. За атрибути на данни добавете името на опцията към data-, както в data-backdrop="".

Име Тип по подразбиране описание
фон булево вярно Включва елемент на модален фон. Като алтернатива, посочете staticза фон, който не затваря модала при щракване.
клавиатура булево вярно Затваря модала, когато се натисне клавиш за изход
шоу булево вярно Показва модала при инициализиране.
дистанционно път невярно

Ако е предоставен отдалечен URL адрес, съдържанието ще бъде заредено чрез loadметода на jQuery и инжектирано в .modal-body. Ако използвате API за данни, можете алтернативно да използвате hrefмаркера, за да посочите отдалечения източник. Пример за това е показан по-долу:

  1. <a data-toggle="modal" href="remote.html" data-target="#modal">click me</a>

Методи

.modal(опции)

Активира вашето съдържание като модално. Приема опции по избор object.

  1. $ ( '#myModal' ). модален ({
  2. клавиатура : невярно
  3. })

.modal('превключване')

Ръчно превключва модал.

  1. $ ( '#myModal' ). модален ( 'превключване' )

.modal('покажи')

Ръчно отваря модал.

  1. $ ( '#myModal' ). модален ( 'покажи' )

.modal('скрий')

Ръчно скрива модал.

  1. $ ( '#myModal' ). модален ( 'скрий' )

събития

Модалният клас на Bootstrap разкрива няколко събития за свързване с модална функционалност.

Събитие Описание
шоу Това събитие се задейства веднага, когато showсе извика методът на екземпляра.
показано Това събитие се задейства, когато модалът е направен видим за потребителя (ще изчака CSS преходите да завършат).
Крия Това събитие се задейства незабавно, когато hideметодът на екземпляра е извикан.
скрит Това събитие се задейства, когато модалът приключи да бъде скрит от потребителя (ще изчака CSS преходите да завършат).
  1. $ ( '#myModal' ). on ( 'hidden' , function () {
  2. // направи нещо…
  3. })

Пример в навигационната лента

Приставката ScrollSpy е за автоматично актуализиране на навигационните цели въз основа на позицията на превъртане. Превъртете областта под лентата за навигация и наблюдавайте промяната на активния клас. Поделементите от падащото меню също ще бъдат маркирани.

@дебел

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi преди да разпродадат qui. Права за велосипеди от ферма до маса в Tumblr. Жилетка Anim keffiyeh carles. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby пуловер lomo jean къси панталони, Williamsburg hoodie мини qui вероятно не сте чували за тях и жилетка trust fund culpa biodiesel wes anderson aesthetic. Nihil татуиран акузамус, cred ирония биодизел keffiyeh занаятчия ullamco consequat.

@mdo

Veniam marfa мустаци скейтборд, adipisicing fugiat velit pitchfork брада. Брадата на Фрийгън е купидата от истината на Максуини. Cupidatat four loko nisi, ea helvetica nulla carles. Татуиран cosby пуловер камион за храна, mcsweeney's quis non freegan винил. Lo-fi wes anderson +1 шивашко. Carles не естетически exercitation quis gentrify. Brooklyn adipisicing занаятчийска бира vice keytar deserunt.

един

Occaecat commodo aliqua delectus. Fap крафт бира deserunt скейтборд ea. Lomo велосипедни права adipisicing banh mi, velit ea sunt следващо ниво locavore кафе с един произход в magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur note Направи си сам минимална пратеска чанта. Cred ex in, sustainable delectus consectetur fanny pack iphone.

две

In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.

three

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Предполага се, че сапиенте синтезатор. Locavore sed helvetica cliche ирония, thundercats вероятно не сте чували за тях consequat суичър без глутен lo-fi fap aliquip. Labore elit placeat преди да са разпродадени, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Жилетка крафт бира сейтан готов велит. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.


Използване

Чрез атрибути на данни

За да добавите лесно scrollspy поведение към вашата навигация в горната лента, просто добавете data-spy="scroll"към елемента, който искате да шпионирате (най-често това е тялото) и data-target=".navbar"изберете коя навигация да използвате. Ще искате да използвате scrollspy с .navкомпонент.

  1. <body data-spy = "scroll" data-target = ".navbar" > ... </body>

Чрез JavaScript

Обадете се на scrollspy чрез JavaScript:

  1. $ ( '#navbar' ). scrollspy ()
Горе главата! Връзките на лентата за навигация трябва да имат разрешими целеви идентификатори. Например <a href="#home">home</a>трябва да съответства на нещо в dom като <div id="home"></div>.

Методи

.scrollspy('refresh')

Когато използвате scrollspy във връзка с добавяне или премахване на елементи от DOM, ще трябва да извикате метода за опресняване по следния начин:

  1. $ ( '[data-spy="scroll"]' ). всяка ( функция () {
  2. var $spy = $(this).scrollspy('refresh')
  3. });

Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-offset="".

Name type default description
offset number 10 Pixels to offset from top when calculating position of scroll.

Events

Event Description
activate This event fires whenever a new item becomes activated by the scrollspy.

Example tabs

Add quick, dynamic tab functionality to transiton through panes of local content, even via dropdown menus.

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.


Usage

Enable tabbable tabs via JavaScript (each tab needs to be activated individually):

  1. $('#myTab a').click(function (e) {
  2. e.preventDefault();
  3. $(this).tab('show');
  4. })

You can activate individual tabs in several ways:

  1. $('#myTab a[href="#profile"]').tab('show'); // Select tab by name
  2. $('#myTab a:first').tab('show'); // Select first tab
  3. $('#myTab a:last').tab('show'); // Select last tab
  4. $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)

Markup

You can activate a tab or pill navigation without writing any JavaScript by simply specifying data-toggle="tab" or data-toggle="pill" on an element. Adding the nav and nav-tabs classes to the tab ul will apply the Bootstrap tab styling.

  1. <ul class="nav nav-tabs">
  2. <li><a href="#home" data-toggle="tab">Home</a></li>
  3. <li><a href="#profile" data-toggle="tab">Profile</a></li>
  4. <li><a href="#messages" data-toggle="tab">Messages</a></li>
  5. <li><a href="#settings" data-toggle="tab">Settings</a></li>
  6. </ul>

Methods

$().tab

Activates a tab element and content container. Tab should have either a data-target or an href targeting a container node in the DOM.

  1. <ul class="nav nav-tabs" id="myTab">
  2. <li class="active"><a href="#home">Home</a></li>
  3. <li><a href="#profile">Profile</a></li>
  4. <li><a href="#messages">Messages</a></li>
  5. <li><a href="#settings">Settings</a></li>
  6. </ul>
  7.  
  8. <div class="tab-content">
  9. <div class="tab-pane active" id="home">...</div>
  10. <div class="tab-pane" id="profile">...</div>
  11. <div class="tab-pane" id="messages">...</div>
  12. <div class="tab-pane" id="settings">...</div>
  13. </div>
  14.  
  15. <script>
  16. $(function () {
  17. $('#myTab a:last').tab('show');
  18. })
  19. </script>

Events

Event Description
show This event fires on tab show, but before the new tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
shown This event fires on tab show after a tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
  1. $('a[data-toggle="tab"]').on('shown', function (e) {
  2. e.target // activated tab
  3. e.relatedTarget // previous tab
  4. })

Examples

Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use CSS3 for animations, and data-attributes for local title storage.

Hover over the links below to see tooltips:

Tight pants next level keffiyeh you probably haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.

Four directions


Usage

Trigger the tooltip via JavaScript:

  1. $('#example').tooltip(options)

Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-animation="".

Name type default description
animation boolean true apply a css fade transition to the tooltip
html boolean true Insert html into the tooltip. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.
placement string|function 'top' how to position the tooltip - top | bottom | left | right
selector string false If a selector is provided, tooltip objects will be delegated to the specified targets.
title string | function '' default title value if `title` tag isn't present
trigger string 'hover' how tooltip is triggered - click | hover | focus | manual
delay number | object 0

delay showing and hiding the tooltip (ms) - does not apply to manual trigger type

If a number is supplied, delay is applied to both hide/show

Object structure is: delay: { show: 500, hide: 100 }

Heads up! Options for individual tooltips can alternatively be specified through the use of data attributes.

Markup

For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.

  1. <a href="#" rel="tooltip" title="first tooltip">hover over me</a>

Methods

$().tooltip(options)

Attaches a tooltip handler to an element collection.

.tooltip('show')

Reveals an element's tooltip.

  1. $('#element').tooltip('show')

.tooltip('hide')

Hides an element's tooltip.

  1. $('#element').tooltip('hide')

.tooltip('toggle')

Toggles an element's tooltip.

  1. $('#element').tooltip('toggle')

.tooltip('destroy')

Hides and destroys an element's tooltip.

  1. $('#element').tooltip('destroy')

Examples

Add small overlays of content, like those on the iPad, to any element for housing secondary information. Hover over the button to trigger the popover. Requires Tooltip to be included.

Static popover

Four options are available: top, right, bottom, and left aligned.

Popover top

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Popover right

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Popover bottom

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Popover left

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

No markup shown as popovers are generated from JavaScript and content within a data attribute.

Live demo


Usage

Enable popovers via JavaScript:

  1. $('#example').popover(options)

Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-animation="".

Name type default description
animation boolean true apply a css fade transition to the tooltip
html boolean true Insert html into the popover. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.
placement string|function 'right' how to position the popover - top | bottom | left | right
selector string false if a selector is provided, tooltip objects will be delegated to the specified targets
trigger string 'click' how popover is triggered - click | hover | focus | manual
title string | function '' default title value if `title` attribute isn't present
content string | function '' default content value if `data-content` attribute isn't present
delay number | object 0

delay showing and hiding the popover (ms) - does not apply to manual trigger type

If a number is supplied, delay is applied to both hide/show

Object structure is: delay: { show: 500, hide: 100 }

Heads up! Options for individual popovers can alternatively be specified through the use of data attributes.

Markup

For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.

Methods

$().popover(options)

Initializes popovers for an element collection.

.popover('show')

Reveals an elements popover.

  1. $('#element').popover('show')

.popover('hide')

Hides an elements popover.

  1. $('#element').popover('hide')

.popover('toggle')

Toggles an elements popover.

  1. $('#element').popover('toggle')

.popover('destroy')

Hides and destroys an element's popover.

  1. $('#element').popover('destroy')

Example alerts

Add dismiss functionality to all alert messages with this plugin.

Holy guacamole! Best check yo self, you're not looking too good.

Oh snap! You got an error!

Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.

Take this action Or do this


Usage

Enable dismissal of an alert via JavaScript:

  1. $(".alert").alert()

Markup

Just add data-dismiss="alert" to your close button to automatically give an alert close functionality.

  1. <a class="close" data-dismiss="alert" href="#">&times;</a>

Methods

$().alert()

Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the .fade and .in class already applied to them.

.alert('close')

Closes an alert.

  1. $(".alert").alert('close')

Events

Bootstrap's alert class exposes a few events for hooking into alert functionality.

Event Description
close This event fires immediately when the close instance method is called.
closed This event is fired when the alert has been closed (will wait for css transitions to complete).
  1. $('#my-alert').bind('closed', function () {
  2. // do something…
  3. })

Example uses

Do more with buttons. Control button states or create groups of buttons for more components like toolbars.

Stateful

Add data-loading-text="Loading..." to use a loading state on a button.

  1. <button type="button" class="btn btn-primary" data-loading-text="Loading...">Loading state</button>

Single toggle

Add data-toggle="button" to activate toggling on a single button.

  1. <button type="button" class="btn" data-toggle="button">Single Toggle</button>

Checkbox

Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group.

  1. <div class="btn-group" data-toggle="buttons-checkbox">
  2. <button type="button" class="btn">Left</button>
  3. <button type="button" class="btn">Middle</button>
  4. <button type="button" class="btn">Right</button>
  5. </div>

Radio

Add data-toggle="buttons-radio" for radio style toggling on btn-group.

  1. <div class="btn-group" data-toggle="buttons-radio">
  2. <button type="button" class="btn">Left</button>
  3. <button type="button" class="btn">Middle</button>
  4. <button type="button" class="btn">Right</button>
  5. </div>

Usage

Enable buttons via JavaScript:

  1. $('.nav-tabs').button()

Markup

Data attributes are integral to the button plugin. Check out the example code below for the various markup types.

Options

None

Methods

$().button('toggle')

Toggles push state. Gives the button the appearance that it has been activated.

Heads up! You can enable auto toggling of a button by using the data-toggle attribute.
  1. <button type="button" class="btn" data-toggle="button" ></button>

$().button('loading')

Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute data-loading-text.

  1. <button type="button" class="btn" data-loading-text="loading stuff..." >...</button>
Heads up! Firefox persists the disabled state across page loads. A workaround for this is to use autocomplete="off".

$().button('reset')

Resets button state - swaps text to original text.

$().button(string)

Resets button state - swaps text to any data defined text state.

  1. <button type="button" class="btn" data-complete-text="finished!" >...</button>
  2. <script>
  3. $('.btn').button('complete')
  4. </script>

About

Get base styles and flexible support for collapsible components like accordions and navigation.

* Requires the Transitions plugin to be included.

Example accordion

Using the collapse plugin, we built a simple accordion style widget:

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
  1. <div class="accordion" id="accordion2">
  2. <div class="accordion-group">
  3. <div class="accordion-heading">
  4. <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
  5. Collapsible Group Item #1
  6. </a>
  7. </div>
  8. <div id="collapseOne" class="accordion-body collapse in">
  9. <div class="accordion-inner">
  10. Anim pariatur cliche...
  11. </div>
  12. </div>
  13. </div>
  14. <div class="accordion-group">
  15. <div class="accordion-heading">
  16. <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
  17. Collapsible Group Item #2
  18. </a>
  19. </div>
  20. <div id="collapseTwo" class="accordion-body collapse">
  21. <div class="accordion-inner">
  22. Anim pariatur cliche...
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. ...

You can also use the plugin without the accordion markup. Make a button toggle the expanding and collapsing of another element.

  1. <button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">
  2. simple collapsible
  3. </button>
  4.  
  5. <div id="demo" class="collapse in"></div>

Usage

Via data attributes

Just add data-toggle="collapse" and a data-target to element to automatically assign control of a collapsible element. The data-target attribute accepts a css selector to apply the collapse to. Be sure to add the class collapse to the collapsible element. If you'd like it to default open, add the additional class in.

To add accordion-like group management to a collapsible control, add the data attribute data-parent="#selector". Refer to the demo to see this in action.

Via JavaScript

Enable manually with:

  1. $(".collapse").collapse()

Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-parent="".

Name type default description
parent selector false If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior)
toggle boolean true Toggles the collapsible element on invocation

Methods

.collapse(options)

Activates your content as a collapsible element. Accepts an optional options object.

  1. $('#myCollapsible').collapse({
  2. toggle: false
  3. })

.collapse('toggle')

Toggles a collapsible element to shown or hidden.

.collapse('show')

Shows a collapsible element.

.collapse('hide')

Hides a collapsible element.

Events

Bootstrap's collapse class exposes a few events for hooking into collapse functionality.

Event Description
show This event fires immediately when the show instance method is called.
shown This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).
hide This event is fired immediately when the hide method has been called.
hidden This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).
  1. $('#myCollapsible').on('hidden', function () {
  2. // do something…
  3. })

Example

A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.

  1. <input type="text" data-provide="typeahead">

Usage

Via data attributes

Add data attributes to register an element with typeahead functionality as shown in the example above.

Via JavaScript

Call the typeahead manually with:

  1. $('.typeahead').typeahead()

Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-source="".

Name type default description
source array, function [ ] The data source to query against. May be an array of strings or a function. The function is passed two arguments, the query value in the input field and the process callback. The function may be used synchronously by returning the data source directly or asynchronously via the process callback's single argument.
items number 8 The max number of items to display in the dropdown.
minLength number 1 The minimum character length needed before triggering autocomplete suggestions
matcher function case insensitive The method used to determine if a query matches an item. Accepts a single argument, the item against which to test the query. Access the current query with this.query. Return a boolean true if query is a match.
sorter function exact match,
case sensitive,
case insensitive
Method used to sort autocomplete results. Accepts a single argument items and has the scope of the typeahead instance. Reference the current query with this.query.
highlighter function highlights all default matches Method used to highlight autocomplete results. Accepts a single argument item and has the scope of the typeahead instance. Should return html.

Methods

.typeahead(options)

Initializes an input with a typeahead.

Example

The subnavigation on the left is a live demo of the affix plugin.


Usage

Via data attributes

To easily add affix behavior to any element, just add data-spy="affix" to the element you want to spy on. Then use offsets to define when to toggle the pinning of an element on and off.

  1. <div data-spy="affix" data-offset-top="200">...</div>
Heads up! You must manage the position of a pinned element and the behavior of its immediate parent. Position is controlled by affix, affix-top, and affix-bottom. Remember to check for a potentially collapsed parent when the affix kicks in as it's removing content from the normal flow of the page.

Via JavaScript

Call the affix plugin via JavaScript:

  1. $('#navbar').affix()

Methods

.affix('refresh')

When using affix in conjunction with adding or removing of elements from the DOM, you'll want to call the refresh method:

  1. $('[data-spy="affix"]').each(function () {
  2. $(this).affix('refresh')
  3. });

Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-offset-top="200".

Name type default description
offset number | function | object 10 Пиксели за изместване от екрана при изчисляване на позицията на превъртане. Ако е предоставено едно число, отместването ще се приложи както в горната, така и в лявата посока. За да слушате за една посока или множество уникални отмествания, току-що предостави обект offset: { x: 10 }. Използвайте функция, когато трябва динамично да предоставите отместване (полезно за някои адаптивни дизайни).