From: Jacob Thornton Date: Sun, 28 Aug 2011 04:46:50 +0000 (-0700) Subject: add topbar dropdown js X-Git-Tag: v1.3.0~86^2^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed96f181c89a4bb152d58b5c9753ee5aedbd8c4b;p=thirdparty%2Fbootstrap.git add topbar dropdown js --- diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css index 67a34280bf..11c3969d82 100644 --- a/docs/assets/css/docs.css +++ b/docs/assets/css/docs.css @@ -131,6 +131,7 @@ div.quickstart form textarea { #footer p.right { float: right; } + /* Special grid styles -------------------------------------------------- */ .show-grid { diff --git a/docs/assets/js/jquery/jquery.tipsy.js b/docs/assets/js/jquery/jquery.tipsy.js deleted file mode 100644 index b0a644a01b..0000000000 --- a/docs/assets/js/jquery/jquery.tipsy.js +++ /dev/null @@ -1,104 +0,0 @@ -(function($) { - $.fn.tipsy = function(options) { - - options = $.extend({}, $.fn.tipsy.defaults, options); - - return this.each(function() { - - var opts = $.fn.tipsy.elementOptions(this, options); - - $(this).hover(function() { - - $.data(this, 'cancel.tipsy', true); - - var tip = $.data(this, 'active.tipsy'); - if (!tip) { - tip = $('
'); - tip.css({position: 'absolute', zIndex: 100000}); - $.data(this, 'active.tipsy', tip); - } - - if ($(this).attr('title') || typeof($(this).attr('original-title')) != 'string') { - $(this).attr('original-title', $(this).attr('title') || '').removeAttr('title'); - } - - var title; - if (typeof opts.title == 'string') { - title = $(this).attr(opts.title == 'title' ? 'original-title' : opts.title); - } else if (typeof opts.title == 'function') { - title = opts.title.call(this); - } - - tip.find('.tipsy-inner')[opts.html ? 'html' : 'text'](title || opts.fallback); - - var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height: this.offsetHeight}); - tip.get(0).className = 'tipsy'; // reset classname in case of dynamic gravity - tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body); - var actualWidth = tip[0].offsetWidth, actualHeight = tip[0].offsetHeight; - var gravity = (typeof opts.gravity == 'function') ? opts.gravity.call(this) : opts.gravity; - - switch (gravity.charAt(0)) { - case 'n': - tip.css({top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-north'); - break; - case 's': - tip.css({top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-south'); - break; - case 'e': - tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}).addClass('tipsy-east'); - break; - case 'w': - tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}).addClass('tipsy-west'); - break; - } - - if (opts.fade) { - tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.8}); - } else { - tip.css({visibility: 'visible'}); - } - - }, function() { - $.data(this, 'cancel.tipsy', false); - var self = this; - setTimeout(function() { - if ($.data(this, 'cancel.tipsy')) return; - var tip = $.data(self, 'active.tipsy'); - if (opts.fade) { - tip.stop().fadeOut(function() { $(this).remove(); }); - } else { - tip.remove(); - } - }, 100); - - }); - - }); - - }; - - // Overwrite this method to provide options on a per-element basis. - // For example, you could store the gravity in a 'tipsy-gravity' attribute: - // return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' }); - // (remember - do not modify 'options' in place!) - $.fn.tipsy.elementOptions = function(ele, options) { - return $.metadata ? $.extend({}, options, $(ele).metadata()) : options; - }; - - $.fn.tipsy.defaults = { - fade: false, - fallback: '', - gravity: 'n', - html: false, - title: 'title' - }; - - $.fn.tipsy.autoNS = function() { - return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n'; - }; - - $.fn.tipsy.autoWE = function() { - return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w'; - }; - -})(jQuery); diff --git a/examples/assets/css/bootstrap-js.css b/examples/assets/css/bootstrap-js.css new file mode 100644 index 0000000000..1c741e3cbd --- /dev/null +++ b/examples/assets/css/bootstrap-js.css @@ -0,0 +1,36 @@ +body { + padding-bottom: 60px; +} +/* Topbar special styles +-------------------------------------------------- */ +div.topbar-wrapper { + position: relative; + height: 40px; + margin: 5px 0 15px; +} +div.topbar-wrapper div.topbar { + position: absolute; + margin: 0 -20px; +} + +div.topbar-wrapper div.topbar .fill { + padding-left: 20px; + padding-right: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +div.topbar-wrapper .container { + width: auto; +} + +/* Pretty Print +-------------------------------------------------- */ +PRE.prettyprint { + overflow: hidden; +} + +section { + padding-top: 60px; +} \ No newline at end of file diff --git a/examples/assets/js/bootstrap-dropdown.js b/examples/assets/js/bootstrap-dropdown.js new file mode 100644 index 0000000000..fd5bd7978c --- /dev/null +++ b/examples/assets/js/bootstrap-dropdown.js @@ -0,0 +1,22 @@ +(function( $ ){ + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + function clearMenus() { + $('a.menu').parent('li').removeClass('open') + } + + $(window).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 ) \ No newline at end of file diff --git a/examples/bootstrap-js.html b/examples/bootstrap-js.html index fe29cb644f..2d9cea3739 100644 --- a/examples/bootstrap-js.html +++ b/examples/bootstrap-js.html @@ -17,10 +17,11 @@ - + + @@ -29,7 +30,7 @@ - + @@ -38,8 +39,9 @@

Bootstrap JS

- + +
+ +
+ + + + @@ -265,7 +333,7 @@ $('#modal-content').modal({

$().popover

Initializes popovers for an element collection.

Demo

- hover + hover