1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-18 19:31:35 +02:00

move javascript from examples into docs

This commit is contained in:
Jacob Thornton
2011-09-06 23:20:56 -07:00
parent d0882c580d
commit fb8987148a
11 changed files with 33 additions and 113 deletions

View File

@@ -213,6 +213,31 @@ div.topbar-wrapper div.topbar .topbar-inner {
border-radius: 4px;
}
/* Topbar special styles for js
-------------------------------------------------- */
#bootstrap-js div.topbar-wrapper {
position: relative;
height: 40px;
margin: 5px 0 15px;
}
#bootstrap-js div.topbar-wrapper div.topbar {
position: absolute;
margin: 0 -20px;
}
#bootstrap-js div.topbar-wrapper div.topbar .fill {
padding-left: 20px;
padding-right: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
#bootstrap-js div.topbar-wrapper .container {
width: auto;
}
/* Popover docs
-------------------------------------------------- */
div.popover-well {

72
docs/assets/js/bootstrap-alerts.js vendored Normal file
View File

@@ -0,0 +1,72 @@
(function( $ ){
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
* ======================================================= */
var transitionEnd
$(function () {
$.support.transition = (function () {
var thisBody = document.body || document.documentElement
, thisStyle = thisBody.style
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
return support
})()
// set CSS transition event type
if ( $.support.transition ) {
transitionEnd = "TransitionEnd"
if ( $.browser.webkit ) {
transitionEnd = "webkitTransitionEnd"
} else if ( $.browser.mozilla ) {
transitionEnd = "transitionend"
} else if ( $.browser.opera ) {
transitionEnd = "oTransitionEnd"
}
}
})
/* ALERT CLASS DEFINITION
* ====================== */
var Alert = function ( content ) {
var that = this
this.$element = $(content)
this.$element.delegate('.close', 'click', function (e) {
e.preventDefault()
that.close()
})
}
Alert.prototype = {
close: function () {
var that = this
this.$element.removeClass('in')
function removeElement () {
that.$element.remove()
that.$element = null
}
$.support.transition && this.$element.hasClass('fade') ?
this.$element.bind(transitionEnd, removeElement) :
removeElement()
}
}
/* ALERT PLUGIN DEFINITION
* ======================= */
$.fn.alert = function ( options ) {
return this.each(function () {
new Alert(this)
})
}
})( jQuery || ender )

24
docs/assets/js/bootstrap-dropdown.js vendored Normal file
View File

@@ -0,0 +1,24 @@
(function( $ ){
/* DROPDOWN PLUGIN DEFINITION
* ========================== */
function clearMenus() {
$('a.menu').parent('li').removeClass('open')
}
$(function () {
$('body').bind("click", clearMenus)
})
$.fn.dropdown = function ( options ) {
return this.each(function () {
$(this).delegate('a.menu', 'click', function (e) {
clearMenus()
$(this).parent('li').toggleClass('open')
return false
})
})
}
})( jQuery || ender )

157
docs/assets/js/bootstrap-modal.js vendored Normal file
View File

@@ -0,0 +1,157 @@
(function( $ ){
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
* ======================================================= */
var transitionEnd
$(function () {
$.support.transition = (function () {
var thisBody = document.body || document.documentElement
, thisStyle = thisBody.style
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
return support
})()
// set CSS transition event type
if ( $.support.transition ) {
transitionEnd = "TransitionEnd"
if ( $.browser.webkit ) {
transitionEnd = "webkitTransitionEnd"
} else if ( $.browser.mozilla ) {
transitionEnd = "transitionend"
} else if ( $.browser.opera ) {
transitionEnd = "oTransitionEnd"
}
}
})
/* MODAL PUBLIC CLASS DEFINITION
* ============================= */
var Modal = function ( options ) {
this.settings = $.extend({}, $.fn.modal.defaults)
if ( typeof options == 'string' ) {
this.settings.content = options
} else if ( options ) {
$.extend( this.settings, options )
}
return this
}
Modal.prototype = {
toggle: function () {
return this[!this.isOpen ? 'open' : 'close']()
}
, open: function () {
var that = this
this.isOpen = true
this.$element = $(this.settings.content)
_.escape.call(this)
_.backdrop.call(this)
this.$element
.delegate('.close', 'click', function (e) { e.preventDefault(); that.close() })
.appendTo(document.body)
.show()
setTimeout(function () {
that.$element.addClass('in')
that.$backdrop && that.$backdrop.addClass('in')
}, 1)
return this
}
, close: function () {
var that = this
this.isOpen = false
_.escape.call(this)
_.backdrop.call(this)
this.$element.removeClass('in')
function removeElement () {
that.$element.remove()
that.$element = null
}
$.support.transition && this.$element.hasClass('fade') ?
this.$element.bind(transitionEnd, removeElement) :
removeElement()
return this
}
}
/* MODAL PRIVATE METHODS
* ===================== */
var _ = {
backdrop: function () {
var that = this
, animate = this.$element.hasClass('fade') ? 'fade' : ''
if ( this.isOpen && this.settings.backdrop ) {
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.click(function () { that.close() })
.appendTo(document.body)
} else if ( !this.isOpen && this.$backdrop ) {
this.$backdrop.removeClass('in')
function removeElement() {
that.$backdrop.remove()
that.$backdrop = null
}
$.support.transition && this.$element.hasClass('fade')?
this.$backdrop.bind(transitionEnd, removeElement) :
removeElement()
}
}
, escape: function () {
var that = this
if ( this.isOpen && this.settings.closeOnEscape ) {
$('body').bind('keyup.modal.escape', function ( e ) {
if ( e.which == 27 ) {
that.close()
}
})
} else if ( !this.isOpen ) {
$('body').unbind('keyup.modal.escape')
}
}
}
/* MODAL PLUGIN DEFINITION
* ======================= */
$.fn.modal = function ( options ) {
options = options || {}
options.content = this
return new Modal(options)
}
$.fn.modal.defaults = {
backdrop: false
, closeOnEscape: false
, content: false
}
})( jQuery || ender )

67
docs/assets/js/bootstrap-popover.js vendored Normal file
View File

@@ -0,0 +1,67 @@
/* EXTENDS BOOTSTRAP-TWIPSY.js
=========================== */
(function( $ ) {
/* POPOVER PUBLIC CLASS DEFINITION
* ============================== */
var Popover = function ( element, options ) {
this.$element = $(element)
this.options = options
this.enabled = true
}
Popover.prototype = $.extend({}, $.fn.twipsy.Twipsy.prototype, {
setContent: function () {
var $tip = this.tip()
$tip.find('.title')[this.options.html ? 'html' : 'text'](this.getTitle())
$tip.find('.content p')[this.options.html ? 'html' : 'text'](this.getContent())
$tip[0].className = 'popover'
}
, fixTitle: function () {}
, getTitle: function () {
var title
if (typeof this.options.title == 'string') {
title = this.$element.attr('data-title') || this.options.title
} else if (typeof this.options.title == 'function') {
title = this.options.title.call(this.$element[0])
}
return title
}
, getContent: function () {content
var content
if (typeof this.options.content == 'string') {
content = this.$element.attr('data-content') || this.options.content
} else if (typeof this.options.content == 'function') {
content = this.options.content.call(this.$element[0])
}
return content
}
, tip: function() {
if (!this.$tip) {
this.$tip = $('<div class="popover" />')
.html('<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>')
}
return this.$tip
}
})
/* POPOVER PLUGIN DEFINITION
* ======================= */
$.fn.popover = function (options) {
if (typeof options == 'object') options = $.extend({}, $.fn.popover.defaults, options)
$.fn.twipsy.initWith.call(this, options, Popover)
}
$.fn.popover.defaults = $.extend({}, $.fn.twipsy.defaults, { content: '', placement: 'right'})
})( jQuery || ender )

288
docs/assets/js/bootstrap-twipsy.js vendored Normal file
View File

@@ -0,0 +1,288 @@
/* Adapted from the original jQuery.tipsy by Jason Frame */
(function( $ ) {
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
* ======================================================= */
var transitionEnd
$(function () {
$.support.transition = (function () {
var thisBody = document.body || document.documentElement
, thisStyle = thisBody.style
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
return support
})()
// set CSS transition event type
if ( $.support.transition ) {
transitionEnd = "TransitionEnd"
if ( $.browser.webkit ) {
transitionEnd = "webkitTransitionEnd"
} else if ( $.browser.mozilla ) {
transitionEnd = "transitionend"
} else if ( $.browser.opera ) {
transitionEnd = "oTransitionEnd"
}
}
})
/* TWIPSY PUBLIC CLASS DEFINITION
* ============================== */
var Twipsy = function ( element, options ) {
this.$element = $(element)
this.options = options
this.enabled = true
this.fixTitle()
}
Twipsy.prototype = {
show: function() {
var pos
, actualWidth
, actualHeight
, placement
, $tip
, tp
if (this.getTitle() && this.enabled) {
$tip = this.tip()
this.setContent()
if (this.options.animate) {
$tip.addClass('fade')
}
$tip
.remove()
.css({ top: 0, left: 0, display: 'block' })
.prependTo(document.body)
pos = $.extend({}, this.$element.offset(), {
width: this.$element[0].offsetWidth
, height: this.$element[0].offsetHeight
})
actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight
placement = _.maybeCall(this.options.placement, this.$element[0])
switch (placement) {
case 'below':
tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2}
break
case 'above':
tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2}
break
case 'left':
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset}
break
case 'right':
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset}
break
}
$tip
.css(tp)
.addClass(placement)
.addClass('in')
}
}
, setContent: function () {
var $tip = this.tip()
$tip.find('.twipsy-inner')[this.options.html ? 'html' : 'text'](this.getTitle())
$tip[0].className = 'twipsy'
}
, hide: function() {
var that = this
, $tip = this.tip()
$tip.removeClass('in')
function removeElement () {
$tip.remove()
}
$.support.transition && this.$tip.hasClass('fade') ?
$tip.bind(transitionEnd, removeElement) :
removeElement()
}
, fixTitle: function() {
var $e = this.$element
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
$e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
}
}
, getTitle: function() {
var title
, $e = this.$element
, o = this.options
this.fixTitle()
if (typeof o.title == 'string') {
title = $e.attr(o.title == 'title' ? 'data-original-title' : o.title)
} else if (typeof o.title == 'function') {
title = o.title.call($e[0])
}
title = ('' + title).replace(/(^\s*|\s*$)/, "")
return title || o.fallback
}
, tip: function() {
if (!this.$tip) {
this.$tip = $('<div class="twipsy" />').html('<div class="twipsy-arrow"></div><div class="twipsy-inner"></div>')
}
return this.$tip
}
, validate: function() {
if (!this.$element[0].parentNode) {
this.hide()
this.$element = null
this.options = null
}
}
, enable: function() {
this.enabled = true
}
, disable: function() {
this.enabled = false
}
, toggleEnabled: function() {
this.enabled = !this.enabled
}
}
/* TWIPSY PRIVATE METHODS
* ====================== */
var _ = {
maybeCall: function ( thing, ctx ) {
return (typeof thing == 'function') ? (thing.call(ctx)) : thing
}
}
/* TWIPSY PLUGIN DEFINITION
* ======================== */
$.fn.twipsy = function (options) {
$.fn.twipsy.initWith.call(this, options, Twipsy)
}
$.fn.twipsy.initWith = function (options, Constructor) {
var twipsy
, binder
, eventIn
, eventOut
if (options === true) {
return this.data('twipsy')
} else if (typeof options == 'string') {
twipsy = this.data('twipsy')
if (twipsy) {
twipsy[options]()
}
return this
}
options = $.extend({}, $.fn.twipsy.defaults, options)
function get(ele) {
var twipsy = $.data(ele, 'twipsy')
if (!twipsy) {
twipsy = new Constructor(ele, $.fn.twipsy.elementOptions(ele, options))
$.data(ele, 'twipsy', twipsy)
}
return twipsy
}
function enter() {
var twipsy = get(this)
twipsy.hoverState = 'in'
if (options.delayIn == 0) {
twipsy.show()
} else {
twipsy.fixTitle()
setTimeout(function() {
if (twipsy.hoverState == 'in') {
twipsy.show()
}
}, options.delayIn)
}
}
function leave() {
var twipsy = get(this)
twipsy.hoverState = 'out'
if (options.delayOut == 0) {
twipsy.hide()
} else {
setTimeout(function() {
if (twipsy.hoverState == 'out') {
twipsy.hide()
}
}, options.delayOut)
}
}
if (!options.live) {
this.each(function() {
get(this)
})
}
if (options.trigger != 'manual') {
binder = options.live ? 'live' : 'bind'
eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus'
eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur'
this[binder](eventIn, enter)[binder](eventOut, leave)
}
return this
}
$.fn.twipsy.Twipsy = Twipsy
$.fn.twipsy.defaults = {
animate: true
, delayIn: 0
, delayOut: 0
, fallback: ''
, placement: 'above'
, html: false
, live: false
, offset: 0
, title: 'title'
, trigger: 'hover'
}
$.fn.twipsy.elementOptions = function(ele, options) {
return $.metadata ? $.extend({}, options, $(ele).metadata()) : options
}
})( jQuery || ender )

View File

@@ -1307,17 +1307,17 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
<h2>Getting started</h2>
<p>We've set out to make your interactive work with Bootstrap even more simple, offering several lightweight plugins for things like modals, tooltips, and other dynamic components. These plugins have been coded up to work with either <a href="http://jquery.com/" target="_blank">jQuery</a> or <a href="http://ender.no.de" target="_blank">Ender</a>, but we encourage you to extend and modify them to fit your development needs!</p>
<h2>Do I need javascript?</h2>
<p>The short answer is <strong>no</strong>... of course not! However, for those who need it, we've provided the plugins below to help you understand how to integrate bootstrap with javascript and to give you a quick lightweight option for dropping something in and getting the basic functionality right away! For more information on these plugins and to see demos of them in action, please refer to our <a href="../examples/javascript.html">plugin documentation page</a>.
<p>The short answer is <strong>no</strong>... of course not! However, for those who need it, we've provided the plugins below to help you understand how to integrate bootstrap with javascript and to give you a quick lightweight option for dropping something in and getting the basic functionality right away! For more information on these plugins and to see demos of them in action, please refer to our <a href="./javascript.html">plugin documentation page</a>.
<dl>
<dt><a href="../examples/javascript.html#modal">bootstrap-modal.js</a></dt>
<dt><a href="./javascript.html#modal">bootstrap-modal.js</a></dt>
<dd>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</dd>
<dt><a href="../examples/javascript.html#alerts">bootstrap-alerts.js</a></dt>
<dt><a href="./javascript.html#alerts">bootstrap-alerts.js</a></dt>
<dd>The alert plugin is a super tiny class for adding close functionality to alerts.</dd>
<dt><a href="../examples/javascript.html#dropdowns">bootstrap-dropdown.js</a></dt>
<dt><a href="./javascript.html#dropdowns">bootstrap-dropdown.js</a></dt>
<dd>This plugin is for adding dropdown to the bootstrap nav.</dd>
<dt><a href="../examples/javascript.html#twipsy">bootstrap-twipsy.js</a></dt>
<dt><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></dt>
<dd>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for title storage!</dd>
<dt><a href="../examples/javascript.html#popover">bootstrap-popover.js</a></dt>
<dt><a href="./javascript.html#popover">bootstrap-popover.js</a></dt>
<dd>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</dd>
</dl>
</p>

330
docs/javascript.html Normal file
View File

@@ -0,0 +1,330 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bootstrap, from Twitter</title>
<meta name="description" content="">
<meta name="author" content="">
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Le javascript -->
<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script>$(function () { prettyPrint() })</script>
<script src="assets/js/bootstrap-modal.js"></script>
<script src="assets/js/bootstrap-alerts.js"></script>
<script src="assets/js/bootstrap-twipsy.js"></script>
<script src="assets/js/bootstrap-popover.js"></script>
<script src="assets/js/bootstrap-dropdown.js"></script>
<!-- Le styles -->
<link href="../bootstrap-1.2.0.css" rel="stylesheet">
<link href="assets/css/docs.css" rel="stylesheet">
<link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="images/favicon.ico">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
</head>
<body id="bootstrap-js">
<!-- Topbar
================================================== -->
<div class="topbar">
<div class="fill">
<div class="container">
<h3><a href="#">Bootstrap JS</a></h3>
<ul>
<li><a href="#modal">Modals</a></li>
<li><a href="#alerts">Alerts</a></li>
<li><a href="#dropdown">Dropdown</a></li>
<li><a href="#twipsy">Twipsy</a></li>
<li><a href="#popover">Popover</a></li>
</ul>
</div>
</div>
</div>
<div class="container">
<!-- Modal
================================================== -->
<section id="modal">
<div class="page-header">
<h1>Modals <small>bootstrap-modal.js</small></h1>
</div>
<div class="row">
<div class="span4 columns">
<p>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</p>
<a href="assets/js/bootstrap-modal.js" target="_blank" class="btn primary">Download</a>
</div>
<div class="span12 columns">
<h2>Using bootstrap-modal</h2>
<pre class="prettyprint linenums">$('#modal-content').modal(options)</pre>
<h3>Options</h3>
<ul>
<li><strong>backdrop</strong> (<code>boolean</code>) - if true, it will include a modal-backdrop element.</li>
<li><strong>closeOnEscape</strong> (<code>boolean</code>) - if true, it will close the modal when escape key is pressed.</li>
<li><strong>content</strong> (<code>string</code>) - alternative way of supplying modal class with HTML content.</li>
</ul>
<h3>Methods</h3>
<h4>$().modal</h4>
<p>Returns an instance of the modal class. Accepts an optional options <code>object</code>. If you want your modal to fade in and out, just add a <code>.fade</code> class to your <code>.modal</code> element (refer to the demo to see this in action).</p>
<pre class="prettyprint linenums">
$('#modal-content').modal({
closeOnEscape: true
})</pre>
<h4>.toggle</h4>
<p>Returns an instance of the modal class. Toggle the modal open state.</p>
<pre class="prettyprint linenums">$('#modal-content').modal().toggle()</pre>
<h4>.open</h4>
<p>Returns an instance of the modal class. Opens the modal.</p>
<pre class="prettyprint linenums">$('#modal-content').modal().open()</pre>
<h4>.close</h4>
<p>Returns an instance of the modal class. Closes the modal.</p>
<pre class="prettyprint linenums">$('#modal-content').modal().close()</pre>
<h3>Demo</h3>
<!-- sample modal content -->
<div id="modal-from-dom" class="modal hide fade">
<div class="modal-header">
<h3>Modal Heading</h3>
<a href="#" class="close">&times;</a>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<a href="#" class="btn primary">Primary</a>
<a href="#" class="btn secondary">Secondary</a>
</div>
</div>
<button id="modal-from-element" class="btn danger">Launch Modal</button>
<script>
$(function () {
var domModal = $("#modal-from-dom").modal({
backdrop: true
, closeOnEscape: true
})
$('#modal-from-element').click(function () {
domModal.toggle()
})
})
</script>
</div>
</div>
</section>
<!-- Alerts
================================================== -->
<section id="alerts">
<div class="page-header">
<h1>Alerts <small>bootstrap-alerts.js</small></h1>
</div>
<div class="row">
<div class="span4 columns">
<p>The alert plugin is a super tiny class for adding close functionality to alerts.</p>
<a href="assets/js/bootstrap-alerts.js" target="_blank" class="btn primary">Download</a>
</div>
<div class="span12 columns">
<h2>Using bootstrap-alert</h2>
<pre class="prettyprint linenums">$(".alert-message").alert()</pre>
<h3>Methods</h3>
<h4>$().alert</h4>
<p>Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the <code>.fade</code> and <code>.in</code> class already applied to them.</p>
<h3>Demo</h3>
<div class="alert-message warning fade in">
<a class="close" href="#">&times;</a>
<p><strong>Holy guacamole!</strong> Best check yo self, youre not looking too good.</p>
</div>
<div class="alert-message block-message error fade in">
<a class="close" href="#">&times;</a>
<p><strong>Oh snap! You got an error!</strong> 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.</p>
<div class="alert-actions">
<a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
</div>
</div>
<script>
$(function () {
$(".alert-message").alert()
})
</script>
</div>
</div>
</section>
<!-- Dropdown
================================================== -->
<section id="dropdown">
<div class="page-header">
<h1>Drop Down <small>bootstrap-dropdown.js</small></h1>
</div>
<div class="row">
<div class="span4 columns">
<p>This plugin is for adding dropdowns to the bootstrap nav.</p>
<a href="assets/js/bootstrap-dropdown.js" target="_blank" class="btn primary">Download</a>
</div>
<div class="span12 columns">
<h2>Using boostrap-dropdown.js</h2>
<pre class="prettyprint linenums">$('#topbar').dropdown()</pre>
<h3>Method</h3>
<h4>$().dropdown</h4>
<p>
Activates menus for given topbar navigation.
</p>
<h3>Demo</h3>
<script>
$(function () {
$('#topbar-example').dropdown()
})
</script>
<div class="topbar-wrapper">
<div id="topbar-example" class="topbar">
<div class="fill">
<div class="container">
<h3><a href="#">Project Name</a></h3>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
<form action="">
<input type="text" placeholder="Search" />
</form>
<ul class="nav secondary-nav">
<li class="menu">
<a href="#" class="menu">Dropdown 1</a>
<ul class="menu-dropdown">
<li><a href="#">Secondary link</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Another link</a></li>
</ul>
</li>
<li class="menu">
<a href="#" class="menu">Dropdown 2</a>
<ul class="menu-dropdown">
<li><a href="#">Secondary link</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Another link</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Tips
================================================== -->
<section id="twipsy">
<div class="page-header">
<h1>Twipsy <small>bootstrap-twipsy.js</small></h1>
</div>
<div class="row">
<div class="span4 columns">
<p>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for title storage!</p>
<a href="assets/js/bootstrap-twipsy.js" target="_blank" class="btn primary">Download</a>
</div>
<div class="span12 columns">
<h2>Using bootstrap-twipsy.js</h2>
<pre class="prettyprint linenums">$('#example').twipsy(options)</pre>
<h3>Options</h3>
<ul>
<li><strong>animate</strong> (<code>boolean</code>) - apply a css fade transition to the tooltip.</li>
<li><strong>delayIn</strong> (<code>number</code>) - delay before showing tooltip (ms).</li>
<li><strong>delayOut</strong> (<code>number</code>) - delay before hiding tooltip (ms).</li>
<li><strong>fallback</strong> (<code>string</code>) - fallback text to use when no tooltip text.</li>
<li><strong>placement</strong> (<code>string</code>) - position of tooltip - above | below | left | right.</li>
<li><strong>html</strong> (<code>boolean</code>) - is tooltip content HTML?</li>
<li><strong>live</strong> (<code>boolean</code>) - use live event support?</li>
<li><strong>offset</strong> (<code>number</code>) - pixel offset of tooltip from element.</li>
<li><strong>title</strong> (<code>string|function</code>) - attribute/callback containing tooltip text.</li>
<li><strong>trigger</strong> (<code>string</code>) - how tooltip is triggered - hover | focus | manual.</li>
</ul>
<h3>Methods</h3>
<h4>$().twipsy</h4>
<p>Attaches a twipsy handler to an element collection.</p>
<h3>Demo</h3>
<div class="well">
<p class="muted">Tight pants next level keffiyeh <a href="#" rel='twipsy' title='Some title text'>you probably</a> 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 <a href="#" rel='twipsy' title='Another twipsy'>have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A <a href="#" rel='twipsy' title='Another one here too'>really ironic</a> artisan whatever keytar, scenester farm-to-table banksy Austin <a href="#" rel='twipsy' title='The last tip!'>twitter handle</a> freegan cred raw denim single-origin coffee viral.
</p>
</div>
<script>
$(function () {
$("a[rel=twipsy]").twipsy({
live: true
})
})
</script>
</div>
</div>
</section>
<!-- Popovers
================================================== -->
<section id="popover">
<div class="page-header">
<h1>Popovers <small>bootstrap-popover.js</small></h1>
</div>
<div class="row">
<div class="span4 columns">
<p>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</p>
<a href="assets/js/bootstrap-popover.js" target="_blank" class="btn primary">Download</a>
</div>
<div class="span12 columns">
<h2>Using boostrap-popover.js</h2>
<pre class="prettyprint linenums">$('#example').popover(options)</pre>
<h3>Options</h3>
<ul>
<li><strong>animate</strong> (<code>boolean</code>) - apply a css fade transition to the popover.</li>
<li><strong>delayIn</strong> (<code>number</code>) - delay before showing tooltip (ms).</li>
<li><strong>delayOut</strong> (<code>number</code>) - delay before hiding tooltip (ms).</li>
<li><strong>fallback</strong> (<code>string</code>) - fallback text to use when no tooltip text.</li>
<li><strong>placement</strong> (<code>string</code>) - position of tooltip - above | below | left | right.</li>
<li><strong>html</strong> (<code>boolean</code>) - is tooltip content HTML?</li>
<li><strong>live</strong> (<code>boolean</code>) - use live event support?</li>
<li><strong>offset</strong> (<code>number</code>) - pixel offset of tooltip from element.</li>
<li><strong>title</strong> (<code>string|function</code>) - text for title in popover. Alternatively you can specify a <code>data-title</code> attribute.</li>
<li><strong>content</strong> (<code>string|function</code>) - text for content in popover. Also you can specify a <code>data-content</code> attibute.</li>
<li><strong>trigger</strong> (<code>string</code>) - how tooltip is triggered - hover | focus | manual.</li>
</ul>
<h3>Methods</h3>
<h4>$().popover</h4>
<p>Initializes popovers for an element collection.</p>
<h3>Demo</h3>
<a href="#" class="btn danger" rel="popover" data-title="A Title" data-content="And here's some amazing content. It's very engaging. right?">hover</a>
<script>
$(function () {
$("a[rel=popover]").popover({
offset: 10
})
})
</script>
</div>
</div>
</section>
</div>
</body>
</html>