Colorbox - a jQuery lightbox

A lightweight customizable lightbox plugin for jQuery


Fork me on GitHub

View Demos

1 2 3 4 5

Download

Released under the MIT License.  Source on Github (changelog).
Compatible with: jQuery 1.3.2+ in Firefox, Safari, Chrome, Opera, Internet Explorer 7+
Bower Package: jquery-colorbox

  • Supports photos, grouping, slideshow, ajax, inline, and iframed content.
  • Lightweight: 10KB of JavaScript (less than 5KBs gzipped).
  • Appearance is controlled through CSS so it can be restyled.
  • Can be extended with callbacks & event-hooks without altering the source files.
  • Completely unobtrusive, options are set in the JS and require no changes to existing HTML.
  • Preloads upcoming images in a photo group.
  • Currently used on more than 1.9 million websites.

Instructions & Help

The FAQ has instructions on asking for help, solutions to common problems, and how-to examples. First-time jQuery users can check out the Colorbox Beginner's Guide. Intermediate users can probably glean everything needed by view-source'ing the demo pages.

Usage

Colorbox accepts settings from an object of key/value pairs, and can be assigned to any HTML element.

// Format:
$(selector).colorbox({key:value, key:value, key:value});
// Examples:
// Image links displayed as a group
$('a.gallery').colorbox({rel:'gal'}); // Ajax
$('a#login').colorbox(); // Called directly, without assignment to an element:
$.colorbox({href:"thankyou.html"}); // Called directly with HTML
$.colorbox({html:"<h1>Welcome</h1>"}); // Colorbox can accept a function in place of a static value:
$("a.gallery").colorbox({rel: 'gal', title: function(){
var url = $(this).attr('href');
return '<a href="' + url + '" target="_blank">Open In New Window</a>';
}});

Settings

Property     Default     Description  
transition     "elastic"     The transition type. Can be set to "elastic", "fade", or "none".  
speed     350     Sets the speed of the fade and elastic transitions, in milliseconds.  
href     false     This can be used as an alternative anchor URL or to associate a URL for non-anchor elements such as images or form buttons. $("h1").colorbox({href:"welcome.html"});  
title     false     This can be used as an anchor title alternative for Colorbox.  
rel     false     This can be used as an anchor rel alternative for Colorbox.  This allows the user to group any combination of elements together for a gallery, or to override an existing rel so elements are not grouped together.  $("a.gallery").colorbox({rel:"group1"}); Note: The value can also be set to 'nofollow' to disable grouping.  
scalePhotos     true     If true, and if maxWidth, maxHeight, innerWidth, innerHeight, width, or height have been defined, Colorbox will scale photos to fit within the those values.  
scrolling     true     If false, Colorbox will hide scrollbars for overflowing content.  This could be used on conjunction with the resize method (see below) for a smoother transition if you are appending content to an already open instance of Colorbox.  
opacity     0.85     The overlay opacity level. Range: 0 to 1.  
open     false     If true, Colorbox will immediately open.  
returnFocus     true     If true, focus will be returned when Colorbox exits to the element it was launched from.  
trapFocus     true     If true, keyboard focus will be limited to Colorbox's navigation and content.  
fastIframe     true     If false, the loading graphic removal and onComplete event will be delayed until iframe's content has completely loaded.  
preloading     true     Allows for preloading of 'Next' and 'Previous' content in a group, after the current content has finished loading.  Set to false to disable.  
overlayClose     true     If false, disables closing Colorbox by clicking on the background overlay.  
escKey     true     If false, will disable closing colorbox on 'esc' key press.  
arrowKey     true     If false, will disable the left and right arrow keys from navigating between the items in a group.  
loop     true     If false, will disable the ability to loop back to the beginning of the group when on the last element.  
data     false     For submitting GET or POST values through an ajax request.  The data property will act exactly like jQuery's .load() data argument, as Colorbox uses .load() for ajax handling.  
className     false     Adds a given class to colorbox and the overlay.  
fadeOut     300     Sets the fadeOut speed, in milliseconds, when closing Colorbox.  
closeButton     true     Set to false to remove the close button.  
Internationalization    
current     "image {current} of {total}"     Text or HTML for the group counter while viewing a group.  {current} and {total} are detected and replaced with actual numbers while Colorbox runs.  
previous     "previous"     Text or HTML for the previous button while viewing a group.  
next     "next"     Text or HTML for the next button while viewing a group.  
close     "close"     Text or HTML for the close button.  The 'esc' key will also close Colorbox.  
xhrError     "This content failed to load."     Error message given when ajax content for a given URL cannot be loaded.  
imgError     "This image failed to load."     Error message given when a link to an image fails to load.  
Content Type    
iframe     false     If true, specifies that content should be displayed in an iFrame.  
inline     false    

If true, content from the current document can be displayed by passing the href property a jQuery selector, or jQuery object.

// Using a selector:
$("#inline").colorbox({inline:true, href:"#myForm"}); // Using a jQuery object:
var $form = $("#myForm");
$("#inline").colorbox({inline:true, href:$form});
html     false     For displaying a string of HTML or text: $.colorbox({html:"<p>Hello</p>"});  
photo     false     If true, this setting forces Colorbox to display a link as a photo.  Use this when automatic photo detection fails (such as using a url like 'photo.php' instead of 'photo.jpg')  
ajax     This property isn't actually used as Colorbox assumes all hrefs should be treated as either ajax or photos, unless one of the other content types were specified.  
Dimensions    
width     false     Set a fixed total width. This includes borders and buttons. Example: "100%", "500px", or 500  
height     false     Set a fixed total height. This includes borders and buttons. Example: "100%", "500px", or 500  
innerWidth     false     This is an alternative to 'width' used to set a fixed inner width. This excludes borders and buttons. Example: "50%", "500px", or 500  
innerHeight     false     This is an alternative to 'height' used to set a fixed inner height. This excludes borders and buttons. Example: "50%", "500px", or 500  
initialWidth     300     Set the initial width, prior to any content being loaded.  
initialHeight     100     Set the initial height, prior to any content being loaded.  
maxWidth     false     Set a maximum width for loaded content. Example: "100%", 500, "500px"  
maxHeight     false     Set a maximum height for loaded content. Example: "100%", 500, "500px"  
Slideshow    
slideshow     false     If true, adds an automatic slideshow to a content group / gallery.  
slideshowSpeed     2500     Sets the speed of the slideshow, in milliseconds.  
slideshowAuto     true     If true, the slideshow will automatically start to play.  
slideshowStart     "start slideshow"     Text for the slideshow start button.  
slideshowStop     "stop slideshow"     Text for the slideshow stop button  
Positioning    
fixed     false     If true, Colorbox will be displayed in a fixed position within the visitor's viewport.  This is unlike the default absolute positioning relative to the document.  
top     false     Accepts a pixel or percent value (50, "50px", "10%").  Controls Colorbox's vertical positioning instead of using the default position of being centered in the viewport.  
bottom     false     Accepts a pixel or percent value (50, "50px", "10%").  Controls Colorbox's vertical positioning instead of using the default position of being centered in the viewport.  
left     false     Accepts a pixel or percent value (50, "50px", "10%").  Controls Colorbox's horizontal positioning instead of using the default position of being centered in the viewport.  
right     false     Accepts a pixel or percent value (50, "50px", "10%").  Controls Colorbox's horizontal positioning instead of using the default position of being centered in the viewport.  
reposition     true     Repositions Colorbox if the window's resize event is fired.  
Retina Images    
retinaImage     false     If true, Colorbox will scale down the current photo to match the screen's pixel ratio  
retinaUrl     false     If true and the device has a high resolution display, Colorbox will replace the current photo's file extention with the retinaSuffix+extension  
retinaSuffix     "@2x.$1"     If retinaUrl is true and the device has a high resolution display, the href value will have it's extention extended with this suffix.  For example, the default value would change my-photo.jpg to my-photo@2x.jpg  
Callbacks    
onOpen     false     Callback that fires right before Colorbox begins to open.  
onLoad     false     Callback that fires right before attempting to load the target content.  
onComplete     false     Callback that fires right after loaded content is displayed.  
onCleanup     false     Callback that fires at the start of the close process.  
onClosed     false     Callback that fires once Colorbox is closed.

Public Methods

$.colorbox()     This method allows you to call Colorbox without having to assign it to an element.  $.colorbox({href:"login.php"});  
$.colorbox.next()
$.colorbox.prev()    
These methods moves to the next and previous items in a group and are the same as pressing the 'next' or 'previous' buttons.  
$.colorbox.close()     This method initiates the close sequence, which does not immediately complete.  The lightbox will be completely closed only when the cbox_closed event / onClosed callback is fired.  
$.colorbox.element()     This method is used to fetch the current HTML element that Colorbox is associated with.  Returns a jQuery object containing the element. var $element = $.colorbox.element();  
$.colorbox.resize()     This allows Colorbox to be resized based on it's own auto-calculations, or to a specific size.    This must be called manually after Colorbox's content has loaded.    The optional parameters object can accept width or innerWidth and height or innerHeight.    Without specifying a width or height, Colorbox will attempt to recalculate the height of it's current content.  
$.colorbox.remove()     Removes all traces of Colorbox from the document.  Not the same as $.colorbox.close(), which tucks colorbox away for future use.

Event Hooks

These event hooks fire at the same time as their corresponding callbacks (ie. cbox_complete & onComplete), but can be used to make a universal change to Colorbox, while callbacks are only applied to selected elements.

// Example of using an event listener and public method to build a primitive slideshow:
$(document).bind('cbox_complete', function(){
setTimeout($.colorbox.next, 1500);
});
cbox_open     triggers when Colorbox is first opened, but after a few key variable assignments take place.  
cbox_load     triggers at the start of the phase where content type is determined and loaded.  
cbox_complete     triggers when the transition has completed and the newly loaded content has been revealed.  
cbox_cleanup     triggers as the close method begins.  
cbox_closed     triggers as the close method ends.

Hey,

Follow me on Twitter and Github, that's where I'm most active these days.  I welcome email (), but I'm afraid I no longer have time to answer personal requests for help regarding my plugins or posts.  Thanks!

实例:

$.colorbox({
            initialHeight: '0',
            initialWidth: '0',
            href: "#import_data",
            overlayClose: false,
            inline: true,
            showLoading: true,
            opacity: '0.3',
            onComplete: function () {
                $("#btnSaveImport").bind("click", function () {
                    $("#UploadControl").hide();
                    $("#ImportFooter").hide();
                    $("#Download").hide();
                    $("#UploadLoading").show();
                    $.colorbox.resize();
                    ctrlUpload.startUpload();
                    $("#btnSaveImport").unbind("click");
                });
            }
        });

介绍

colorbox()函数使用一堆key/value对象和一个可选的callback函数

格式:$('selector').colorbox({key:value}, callback);

例子: $('a.gallery').colorbox({transition:'fade', speed:500});

还是例子:$('button').colorbox({href:"thankyou.html"});

设置的值

默认值

介绍

transition

"elastic"

过渡效果,可以是"elastic", "fade", or "none".

speed

350

设置过渡效果的持续时间,毫秒

href false

Example:$('h1').colorbox({href:"welcome.html"})

这个用来设置一个锚标记的值或者一个不是锚的元素,例如图像或者表单的按钮,例如:

title false

这可以为Colorbox设置一个标题

rel false

Example:$('#example a').colorbox({rel:'group1'})

这个可以根据元素的rel属性设置要显示的元素集合,也可以覆盖一个存在的rel属性

width false

Example: "100%", "500px", or 500

设置宽度,包括边框和按钮

height false

Example: "100%", "500px", or 500

设置高度,包括边框和按钮

innerWidth false

Example: "50%", "500px", or 500

这个可以设定一个固定的内大小,包括边框和按钮

innerHeight false

Example: "50%", "500px", or 500

这个可以设定一个固定的内高度,包括边框和按钮

initialWidth 300

设置初始化宽度

initialHeight 100

设置初始化高度

maxWidth false

Example: "100%", 500, "500px"

设置内容的最大宽度

maxHeight false

Example: "100%", 500, "500px"

设置内容的最大高度

scalePhotos true

如果是true且maxWidth, maxHeight, innerWidth, innerHeight, width, 或者 height 被设置,

Colorbox会缩放图片以使用边框

scrolling true

如果是false,Colorbox不会为了溢出元素设置滚动条

iframe false

如果是true,元素会在Iframe中显示

inline false

Example: $("#inline").colorbox({inline:true, href:"#myForm"});

如果是true,jQuery选择器可以用来选择要显示的元素。例如:

html false

Example:
$.fn.colorbox({html:'

Hello

'});

这个是直接让你显示HTML代码,例

photo false

如果为true,ColorBox只会把元素按照图片显示,防止类似photo.php?pic=1这样的连接被误认为是网页

opacity 0.85

遮罩层不透明度 从0-1之间取值

open false

如果为true,ColorBox会自动开启

preloading true

如果为True,ColorBox会自动预载要显示图片

overlayClose true

为true单击遮罩层就可以把ColorBox关闭

slideshow false

为True,会自动滚动图片

slideshowSpeed 2500

设置时间,毫秒

slideshowAuto true

为tuue,滑动会自动开始

slideshowStart "start slideshow"

开始自动滑动按钮的文本

slideshowStop "stop slideshow"

停止自动滑动按钮的文本

current "{current} of {total}"

文本内容:现在正在显示的元素序号

previous "previous"

“上一个”按钮的文本

next "next"

“下一个”按钮的文本

close "close"

“关闭”按钮的文本

经典弹出层Colorbox - a jQuery lightbox的更多相关文章

  1. Layer组件多个iframe弹出层打开与关闭及参数传递

    一.Layer简介 Layer是一款近年来备受青睐的web弹层组件,基于jquery,易用.实用,兼容包括IE6在内的所有主流浏览器,拥有丰富强大的可自定义的功能. Layer官网地址:http:// ...

  2. jQuery Colorbox是一款弹出层

    jQuery Colorbox使用教程 jQuery Colorbox是一款弹出层,内容播放插件,效果极佳,最关键的是大小只有10KB,当然我主要是用来弹出图片啦,(之前介绍过jquery Fancy ...

  3. 网站开发常用jQuery插件总结(二)弹出层插件Lightbox

    网站开发过程中,为了增加网站交互效果,我们有时需要在当前页面弹出诸如登陆.注册.设置等窗口.而这些窗口就是层,弹出的窗口就是弹出层.jQuery中弹出层插件很多,但有些在html5+css3浏览器下, ...

  4. Jquery 点击图片在弹出层显示大图

    http://blog.csdn.net/wongwaidah/article/details/28432427(案例链接出处,本人只是转载收藏) <html> <head> ...

  5. jquery制作弹出层带遮罩效果,点击阴影部分层消失

    jquery制作弹出层带遮罩效果,点击阴影部分层消失. 整体还是比较简单的. HTML代码很简单 <a href="#" class="big-link" ...

  6. jQuery弹出层插件popbox

    都什么年代了,还自己写弹出层插件!是的,①自己写的自己好控制②可定制性高③兼容低版本IE 本插件有以下特性: 样式分离,可定制,纯净无图片 可自定义按钮及按钮的样式.点击事件 可指定选择器选择页面元素 ...

  7. [转]jquery Fancybox丰富的弹出层效果

    本文转自:http://www.helloweba.com/view-blog-65.html Fancybox是一款优秀的jquery插件,它能够展示丰富的弹出层效果.前面我们有文章介绍了facyb ...

  8. jQuery弹出层始终垂直居中相对于屏幕或当前窗口

    把弹出层的位置设为fixed,设置top:50%,然后获取当前元素的整体的高度height,用获取的高度height/2,设置margin-top:-height/2.即可把当前的弹出层始终垂直居中于 ...

  9. jquery 简单弹出层

    预定义html代码:没有 所有代码通过js生成和移除. 预定义css .z-popup-overlay{ width:100%; min-height: 100%; height:800px; pos ...

随机推荐

  1. html风格的滚动条

    DIV辊棒的设置 (CSS)2008/09/26 03:07div 控制滚动条2008年01月06日本 星期日 01:181)隐藏滚动条<body style="overflow-x: ...

  2. 返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API

    原文:返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API [索引页][源码下载] 返璞归真 asp.net mvc (10) - asp.net ...

  3. Jquery简介选择的

    前言 Jquery一个js相框(程序代码相结合)这是一个程序开发过程中的半成品:分类似该框架EXTJS. 依赖库:jquery-XXX.js 语法:$() 正文 5择器 id选择器 $("# ...

  4. 求Sn=a+aa+aaa+…+aa…aaa(有n个a)…

    时间限制: 1 Sec  内存限制: 128 MB 提交: 352  解决: 174 [提交][状态][讨论版] 题目描述 求Sn=a+aa+aaa+-+aa-aaa(有n个a)之值,其中a是一个数字 ...

  5. VirtualBox创建虚拟电脑、执行Genymotion模拟器报错

    当安装完Genynition关于Android应用的调试模拟器之后,在Genymotion执行的平台virtualBox:VirtualBox创建虚拟电脑.执行Genymotion模拟器报错: 错误卖 ...

  6. w3wp占用CPU过高

    w3wp占用CPU过高 在此之前项目有发生过两次类似的状况,都得以解决,但最近又会发现偶尔CPU会跑满,虽然之前使用过WinDbg解决过两次问题但人的记忆是不可靠的,今天处理同样问题的时候还是遇到了一 ...

  7. grep之字符串搜索算法Boyer-Moore由浅入深(比KMP快3-5倍)(转)

    这篇长文历时近两天终于完成了,前两天帮网站翻译一篇文章“为什么GNU grep如此之快?”,里面提及到grep速度快的一个重要原因是使用了Boyer-Moore算法作为字符串搜索算法,兴趣之下就想了解 ...

  8. 完美世界3D格斗手游[格斗宝贝]今日公測

    狗刨学习网报道 / 经过近两年井喷式的发展,国内手游市场洗牌的信号愈加强烈.用户体验的提升.以及对产品核心品质的要求.促进了手游的精品化.而白热化的市场竞争,也催生了各大厂商在细分市场的抢滩.当中.更 ...

  9. Struts2之—实现自己的结果集的定义ajax

    项目中我们常常遇到这种需求--页面部分刷新.比如:加入用户,转到加入用户页面时,页面自己主动载入了全部部门. 完整流程:选择所属部门,填写username和password,点击"注冊&qu ...

  10. Maven构建Hadoop

    Maven构建Hadoop工程 阅读目录 序 Maven 安装 构建 示例下载 系列索引 序 上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant来管理工 ...