经典弹出层Colorbox - a jQuery lightbox

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 [email protected]

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()函数使用一堆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"
“关闭”按钮的文本

时间: 2024-11-06 11:44:11

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

JS简易弹出层

一个简易的弹出框,内容层自定义.为了简单灵活的在小项目中使用. 目标要求 模仿bootstrap的弹出层实现 如何实现 bootstrap弹出框的效果.经过研究后.思路如下 将要弹出的DIV要置于body直属.不必有遮罩DIV.它在运行时由JS生成.关闭时再删掉 弹出层DIV和遮罩层使用绝对定位并且长宽一样,在弹出前,将BODY设为无滚动条,以消除网页有滚动条时的盖不住问题 弹出层DIV.长宽与页面窗口一样,背景透明.可以单击(单击背景关闭弹出层功能),可以垂直滚动. 弹出层第二级为弹出内容父层

jQuery点击弹出层,弹出模态框,点击模态框消失

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 <!DOCTYPE html>

jQuery点击自身以外地方关闭弹出层

$(function(){ $(document).bind("click", function (e) { if($(e.target).closest("#txt").length>0){ $("#tip").show(); }else{ $("#tip").hide(); } }); }); closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身.如果不匹配则向上查找父元素,一层一层往上,直到找到匹配

jQuery.reveal弹出层

jQuery.reveal弹出层使用 最近用到弹出层,还得自定义UI,原本用的artDialog太庞大,不合适了,于是就找到了这个东西,又小又好用,基础的弹出遮罩都有了,想要什么还不是Coder自己说了算. 这个插件是基于Jquery实现的,非常小,插件本身只有3K多一点,用起来也算简单明了. 废话不说了.上Demo 首先是引用部分: Html->head: <head> <meta charset="utf-8" /> <title>Reve

【转载】jQuery弹出层始终垂直居中于当前屏幕

一般网站上肯定有一些弹出框,不论弹出框的大小,都需要他在当前窗口垂直居中.之前手上就有一个jQuery的例子,后来才发现,他只能在第一屏垂直居中,如果滑动滚动条,弹出的框就在上方,不是很方便.请教朋友后稍作修改,成了现在的例子. 代码分析 注释已经写得很清楚了,看得懂jQuery的应该都看得懂 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 function popup(popupName){     var _scrollHeight = $(docu

jquery 简单弹出层

预定义html代码:没有 所有代码通过js生成和移除. 预定义css /* 基本弹出层样式 */ .my-popup-overlay { width:100%; height:auto; /* width height is defined by javascript */ position: absolute; top:0; left: 0; z-index: 1000; background-color: #000; opacity: 0.2; *filter:alpha(opacity=2

jQuery 插件开发——PopupLayer(弹出层)

导读:上次写了一篇关于GridView的插件开发方法,上几天由于工作需要,花了一天左右的事件封装了popupLayer(弹出层)插件.今天有时间就记录一下自己的开发思想与大家分享下,同时也算是对这段时间的工作概要吧. 就我在开发过程中的理解和开发的经验,一般常用的弹出层有三类(其实还有一类就是弹出可以输入内容的,但是这种可以被替代,所以就特别拿出来写了):Confirm.Alert.LoadContent(url).其中Alert又可以分成五种(当然也可以是四种),分别是: "error&quo

jquery 简单弹出层(转)

预定义html代码:没有 所有代码通过js生成和移除. 预定义css /* 基本弹出层样式 */ .my-popup-overlay { width:100%; height:auto; /* width height is defined by javascript */ position: absolute; top:0; left: 0; z-index: 1000; background-color: #000; opacity: 0.2; *filter:alpha(opacity=2

分享一个JQuery弹出层插件

JQuery插件TipsWindown 1.1 一个基于jQuery的弹出层.支持拖拽,支持内容为文字,图片,URL等!至于兼容性.在IE6下,弹出对像无法绝对固定.其他应该没啥大问题: 最新更新:(2010-08-12):修正IE6下不能遮住下拉菜单的BUG,增加拖动时半透明效果.句容市鄂茂钢铁 应用演示 弹出文本信息提示:   我是下拉菜单 tipsWindown("提示","text:提示信息内容","250","150"