Zebra_Dialog是一个小型(缩小了4KB)、紧凑(一个JS文件,除了jQuery 1.5.2+之外没有其他依赖项)和高度可配置的jQuery对话框插件。它也可以用作网站或项目的通知小部件。
Zebra_Dialog可以生成6种类型的对话框:确认、信息、警告、提示、错误和问题。通过更改CSS文件,可以很容易地自定义对话框的外观。
Zebra_Dialog对话框可以放置在屏幕上的任何位置,而不仅仅是中间!默认情况下,可以通过按ESC键或单击覆盖上的任意位置来关闭对话框。它也可以用作网站或项目的通知小部件。
根据GNU宽松通用公共许可证v3.0许可。
1.在您的网页上包含jQuery库和jQuery Zebra_Dialog。
<script src="jquery.min.js"></script> <script src="javascript/zebra_dialog.js"></script>
2.包含jQuery Zebra_Dialog来设计插件的样式。
<link rel="stylesheet" href="css/zebra_dialog.css" type="text/css">
3.Html标记。
<a href="javascript:void(0)" id="example1">here</a>
4.调用插件并完成。
// show a dialog box when clicking on a link
$('#example1').bind('click', function(e) {
e.preventDefault();
$.Zebra_Dialog('The link was clicked!');
});5.可能的带有默认值的插件选项。
// The speed, in milliseconds, by which the overlay and the
// dialog box will be animated when closing.
animation_speed_hide: 250,
// The speed, in milliseconds, by which the dialog box will
// fade in when appearing.
animation_speed_show: 0,
// The number of milliseconds after which to automatically
// close the dialog box or FALSE to not automatically close the dialog box.
auto_close: false,
// The index (0-based) of the button (from left to right) to
// place the focus on when a dialog box is first shown.
//
// Set to FALSE to disable. When set to FALSE the focus will
// be placed on the dialog box's content so that when the
// users presses TAB, the focus will be set on the first
// button.
//
// Setting this to TRUE is equivalent to setting it to 0.
auto_focus_button: true,
// Use this for localization and for adding custom buttons.
//
// If set to TRUE, the default buttons will be used, depending
// on the type of the dialog box: ['Yes', 'No'] for "question"
// type and ['Ok'] for the other dialog box types.
//
// For custom buttons, use an array containing the captions of
// the buttons to display: ['My button 1', 'My button 2'].
//
// Set to FALSE if you want no buttons.
//
// Note that when the dialog box is closed as a result of clicking
// a button, the "onClose" event is triggered and the callback
// function (if any) receives as argument the caption of the
// clicked button.
//
// See the comments for the "onClose" event below for more
// information.
//
// You can also attach callback functions to individual buttons
// by using objects in the form of:
//
// [
// {caption: 'My button 1', callback: function() { // code }},
// {caption: 'My button 2', callback: function() { // code }}
// ]
//
// The main difference is that a callback function attached this
// way is executed as soon as the button is clicked rather than
// *after* the dialog box is closed, as it is the case with the
// "onClose" event.
//
// Callback functions attached to buttons get as argument the
// entire dialog box jQuery object.
//
// A callback function returning FALSE will prevent the dialog
// box from closing.
// When set to TRUE, the buttons will be centered instead of
// right-aligned.
buttons: true,
// When set to TRUE, the buttons will be centered instead of
// right-aligned.
center_buttons: false,
// An extra class to add to the dialog box's container. Useful
// for customizing a dialog box elements' styles at runtime.
//
// For example, setting this value to "mycustom" and in the
// CSS file having something like
// .mycustom .ZebraDialog_Title { background: red }
// would set the dialog box title's background to red.
//
// See the CSS file for what can be changed.
custom_class: false,
// By default, the height of the dialog box is automatically
// set and it is also influenced by the "max_height" property.
//
// Use this to set a fixed height, in pixels, for the dialog
// box.
height: 0,
// When set to TRUE, pressing the ESC key will close the dialog
// box.
keyboard: true,
// Margin of the dialog box relative to the viewport's limits
// (a single value, applied both horizontally and/or vertically)
//
// This is used when the dialog box is stretched 100% horizontally
// and/or vertically and "width" and "max_width" are not set
// (when stretched horizontally) and "height" and "max_height"
// are not set (when stretched vertically).
//
// Can be specified as a numeric value (which will be interpreted
// as a value in pixels) or as a percentage (of the viewport).
//
// Default is "0" - when stretched, the dialog box sticks to
// the viewport's limits.
margin: 0,
// The maximum height, in pixels, before the content in the
// dialog box is scrolled.
//
// If set to "0" the dialog box's height will automatically
// adjust to fit the entire content.
max_height: 0,
// The maximum width of the dialog box.
//
// Can be specified as a numeric value (which will be interpreted
// as a value in pixels) or as a percentage (of the viewport).
//
// If "max_width" is set to valid value greater than 0,
// then the "width" property will be ignored.
max_width: 450,
// Default value to show in the input box when the dialog
// box type is "prompt".
default_value: '',
// The text (or HTML) to be displayed in the dialog box.
//
// See the "source" property on how to add content via AJAX,
// iFrames or from inline elements.
message: '',
// When set to TRUE there will be a semitransparent overlay
// behind the dialog box, preventing users from clicking
// the page's content.
modal: true,
// Should the dialog box close when the overlay is clicked?
overlay_close: true,
// A selector indicating the DOM element to server as the overlay's container.
overlay_container: 'body',
// The opacity of the overlay (between 0 and 1)
overlay_opacity: '.9',
// Position of the dialog box.
//
// Can be either "center" (which would center the dialog box) or
// an array with 2 elements, in the form of
// {'horizontal_position +/- offset', 'vertical_position +/- offset'}
// (notice how everything is enclosed in quotes) where
// "horizontal_position" can be "left", "right" or "center",
// "vertical_position" can be "top", "bottom" or "middle", and
// "offset" represents an optional number of pixels to add/substract
// from the respective horizontal or vertical position.
//
// Positions are relative to the viewport (the area of the
// browser that is visible to the user)!
//
// Examples:
//
// ['left + 20', 'top + 20'] would position the dialog box in the
// top-left corner, shifted 20 pixels inside.
//
// ['right - 20', 'bottom - 20'] would position the dialog box
// in the bottom-right corner, shifted 20 pixels inside.
//
// ['center', 'top + 20'] would position the dialog box in
// center-top, shifted 20 pixels down.
position: 'center',
// The duration (in milliseconds) of the animation used to
// reposition the dialog box when the browser window is resized.
reposition_speed: 500,
// When set to TRUE, a "close" button (the little "x") will be
// shown in the upper right corner of the dialog box.
//
// If the dialog box has a title bar then the "close" button
// will be shown in the title bar, vertically centered and
// respecting the right padding.
//
// If the dialog box does not have a title bar then the "close"
// button will be shown in the upper right corner of the body
// of the dialog box, respecting the position related properties
// set in the stylesheet.
show_close_button: true,
// Add content via AJAX, iFrames or from inline elements (together
// with the already applied events).
//
// This property can be any of the following:
//
// - 'ajax': object - where "object" can be an object with any
// of the properties you'd normally use to make an AJAX call in
// jQuery (see the description for the "settings" argument at
// http://api.jquery.com/jQuery.ajax/), or it can be a string
// representing a valid URL whose content to be fetched via
// AJAX and placed inside the dialog box.
//
// Example:
//
// source: {'ajax': 'http://myurl.com/'}
//
// source: {'ajax': {
// 'url': 'http://myurl.com/',
// 'cache': false
// }}
//
// Note that you cannot use the "success" property as it will
// always be overwritten by the library; use the "complete"
// property instead, if you have to!
//
// - 'iframe': object - where "object" can be an object where
// property names can be valid attributes of the <iframe> tag
// (see https://developer.mozilla.org/en-US/docs/HTML/Element/iframe),
// or it can be a string representing a valid URL to be loaded
// inside an iFrame and placed inside the dialog box.
//
// Example:
//
// source: {'iframe': 'http://myurl.com/'}
//
// source: {'iframe': {
// 'src': 'http://myurl.com/',
// 'width': 480,
// 'height': 320,
// 'scrolling': 'no'
// }}
//
// Note that you should always set the iFrame's width and height
// and adjust the dialog box's "width" property accordingly!
//
// - 'inline': selector - where "element" is a jQuery element
// from the page; the element will be copied and placed inside
// the dialog box together with any attached events! if you just
// want the element's inner HTML, use $('#element').html().
//
// Example:
//
// source: {'inline': $('#myelement')}
source: false,
// Title of the dialog box
title: '',
// Dialog box type.
//
// Can be any of the following:
//
// - confirmation
// - error
// - information
// - question
// - warning
// - prompt
// If you don't want an icon, set the "type" property to FALSE.
//
// By default, all types except "question" have a single button
// with the caption "Ok"; type "question" has two buttons, with
// the captions "Ok" and "Cancel" respectively.
type: 'information',
// Should short messages be vertically centered?
vcenter_short_message: true,
// By default, the width of the dialog box is set in the CSS
// file. Use this property to override the default width at
// runtime.
//
// Must be an integer, greater than 0. Anything else will instruct
// the script to use the default value, as set in the CSS file.
// Value should be no less than 200 for optimal output.
width: 0,
// Event fired when *after* the dialog box is closed.
//
// For executing functions *before* the closing of the dialog
// box, see the "buttons" attribute.
//
// The callback function (if any) receives as argument the
// caption of the clicked button or boolean FALSE if the dialog
// box is closed by pressing the ESC key or by clicking on the
// overlay.
onClose: null6.在对话框关闭后执行一个功能。
var dialog = new $.Zebra_Dialog('This is some information');
// First argument: the caption of the clicked button or boolean FALSE if the dialog box is closed by pressing the ESC key, by clicking the dialog box's x button, or by clicking the overlay. The argument can also be boolean TRUE when the dialog box type is prompt and the ENTER key is pressed while inside the input box.
// Second argument: receives the value entered in the input box - when the dialog box type is prompt and a button was clicked or the ENTER key was pressed while inside the input box, or undefined for any other case.
dialog.on('onClose', function(arguments){
// do something
})7.以编程方式隐藏/更新对话框。
var dialog = new $.Zebra_Dialog('This is some information');
dialog.close();
dialog.update();2021-11-24
3.0.5版(2020-08-19)
3.0.4版(2020-08-18)
版本3.0.3(2020-07-19)
3.0.2版(2020-04-26)
3.0.1版(2020-03-31)
v3.0.0(2019年9月04日)
v2.1.1版本(2019-06-04)
v2.1.0版本(2019-06-04)
v2.0.0版本(2018-08-01)
v1.6.0 (2018-07-26)
v1.5.0 (2018-07-05)
2018-07-04
v1.4.1 (2017-10-14)
v1.4.0(2016年6月28日)
v1.3.12 (2016-06-01)
v1.3.8 (2013-12-21)
v1.3.7 (2013-11-26)
v1.3.6 (2013-10-17)
v1.3.3 (2013-05-29)
v1.3.2 (2013-05-27)
v1.3.1 (2013-05-07)
Â