jBox属性与方法

344 阅读7分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

<script sr c="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/StephanWagner/jBox@v0.4.9/Source/jBox.min.js"></script>
<link href="https://cdn.jsdelivr.net/gh/StephanWagner/jBox@v0.4.9/Source/jBox.css" rel="stylesheet">

您可以立即为jBox设置选项,或者在使用插件时设置第二个参数:

var options = {
    title: 'My title',
    content: 'My content'
};
new jBox(options);
new jBox('Tooltip', options);

jBox附带默认插件 Tooltip, Mouse和 Modal。

此外,您还可以包含插件 确认, 通知和 图像。

一,属性

ID

ID

string

选择一个唯一的id,否则jBox会为你设置一个(jBox1,jBox2,...)

Dimensions

width
height

auto,

integer

内容区域的宽度和高度

minWidth
minHeight

integer

内容区域的最小宽度和高度

maxWidth
maxHeight

integer

内容区域的最大宽度和高度

responsiveWidth
responsiveHeight

boolean

调整宽度和高度以适合视口

responsiveMinWidth
responsiveMinHeight

integer

不要将宽度或高度调整到此值以下(以像素为单位)

Attaching jBox

attach

jQuery selector

用于打开和关闭jBox的元素的jQuery选择器,例如'.tooltip'

trigger

click,
mouseenter,
touchclick

定义jBox在与附加元素交互时打开或关闭的事件

preventDefault

boolean

打开jBox时防止默认事件,例如,不要在链接中跟随href

Content

content

string

,

jQuery element

设置jBox的内容。您可以使用jQuery元素追加元素(将CSS样式显示设置为none,以便元素不会显示在您的页面上)

getContent

string

在jBox打开时从属性获取内容,例如'data-content'。使用'html'将附加元素HTML作为内容

title

string

为jBox添加标题

getTitle

string

jBox打开时从属性中获取标题,例如'data-title'

footer

string

在jBox中添加页脚

isolateScroll

boolean

隔离滚动到内容容器

AJAX

ajax:{
url:null,
data:'',
}

设置URL时,jBox在打开时发出AJAX请求。您可以添加任何jQuery ajax选项,例如beforeSend,complete,success等。

↳url

string

发送AJAX请求的URL

↳data

string

,

object

要使用您的AJAX请求发送的数据,例如{id:82,limit:10}

↳reload

boolean

,

strict

jBox打开时重新发送AJAX请求。使用true仅对每个元素发送一次AJAX请求调用,或者每次jBox打开时发送'strict'重新发送

↳getURL

string

源元素中AJAX请求将查找URL的属性,例如'data-url'

↳getData

string

源元素中AJAX请求将查找数据的属性,例如'data-ajax'

↳setContent

boolean

当AJAX请求完成时,自动将响应设置为新内容

↳spinner

boolean

,

string

隐藏当前内容并在加载时添加微调器。您可以传递HTML内容来添加自己的微调器,例如spinner:'

</ div>'

↳spinnerDelay

integer

等待微调器出现的毫秒数

↳spinnerReposition

boolean

添加或删除微调器时重新定位jBox

Position

target

jQuery selector

jQuery的jQuery选择器将打开jBox。如果没有找到元素,jBox将使用附加元素作为目标

position

object

设置具有水平位置x和垂直位置y的对象,例如{x:'right', y:'center'}。您还可以设置绝对位置的数字

outside

x,y,xy

将jBox移动到目标元素之外

offset

integer

,

object

抵消最终位置。您可以使用对象为x和y设置不同的值,例如{x:15,y:-10}

attributes

object

定义应使用哪些CSS属性,例如{x:'right', y:'bottom'}。请注意,右侧和底部只能在您的位置值为整数时使用,例如{x:300,y:20}

fixed

boolean

滚动时,您的jBox将保持在位

adjustPosition

flip, move,

boolean

如果空间不足,请调整jBoxes位置。值'flip'将jBox定位在相反的外部位置,值'move'仅适用于指针。设置为true以同时使用两者。此选项会覆盖重新定位选项

adjustTracker

boolean

默认情况下,jBox在打开时或窗口大小更改时调整其位置,设置为true以在滚动时调整

adjustDistance

integer

,

object

调整时到视口边缘的最小距离。使用对象设置不同的值,例如{top:50, right:5,bottom:20, left:5}

reposition

boolean

窗口大小更改时计算新位置

repositionOnOpen

boolean

每次jBox打开时计算新位置(而不是仅在第一次打开时计算)

repositionOnContent

boolean

使用.setContent()或.setTitle()更改内容时计算新位置

Pointer

pointer

boolean

,
left, right,
top, bottom,
center

您的指针将始终指向目标元素,因此外部选项需要为“x”或“y”。默认情况下,指针居中,设置一个位置以将其移动到任何一侧。您还可以添加偏移量,例如“left:30”或“center:-20”

pointTo

target

,
left, right,
top, bottom

除了'target'之外的其他设置将添加指针,即使没有设置或找到目标元素

Animations

fade

integer

淡入淡出持续时间(以ms为单位),设置为0或false以禁用

animation

object

,
zoomIn, zoomOut,
pulse, move,
slide, flip,
tada

jBox打开或关闭时的动画。
要使用不同的动画进行打开和关闭,请使用对象:{open:'tada', close:'flip'}。您还可以设置移动方向和幻灯片动画:{open:'move:right', close:'slide:top'}

Appearance

theme

string

设置一个jBox主题类,例如'TooltipDark'

addClass

string

将类添加到包装器

overlay

boolean

添加叠加层以在jBox打开时隐藏页面内容(使用CSS调整颜色和不透明度)

zIndex

integer

使用高z-index

Delays

delayOpen

integer

延迟开启毫秒。请注意,如果您的jBox没有完成关闭,则会忽略延迟

delayClose

integer

延迟以毫秒结束。注意,总是有一个至少10毫秒的关闭延迟,以确保jBox在立即打开时不会关闭

Closing jBox

closeOnEsc

boolean

按[esc]键关闭jBox

closeOnClick

boolean

, body,
box, overlay

用鼠标点击关闭jBox:当你点击任何地方时关闭true,点击叠加时'叠加',点击jBox本身时'box',当你点击jBox时点击'body'

closeOnMouseleave

boolean

当鼠标离开jBox区域或附加元素的区域时关闭jBox

closeButton

boolean

, overlay,
title, box

在jBox中添加一个关闭按钮。如果可以找到任何这些元素,则值true将按顺序将按钮添加到overlay,title或jBox本身

Other options

appendTo

jQuery element

您的jBox将附加到的元素。除$('body')之外的任何其他元素仅对固定位置或位置值为数字有用

createOnInit

boolean

创建jBox并在初始化时使其在DOM中可用,否则它将在首次打开时创建

blockScroll

boolean

当jBox打开时阻止滚动

draggable

boolean

, title,

jQuery selector

使您的jBox可拖动。使用title或提供jBox的任何子元素的选择器作为句柄

的dragover

boolean

当您有多个可拖动的jBox时,您选择的jBox将始终移动到其他jBox上

autoClose

integer

,

boolean

jBox打开后自动关闭的时间(以毫秒为单位)

Audio

preloadAudio

boolean

,

array

预加载选项音频中设置的音频文件。您还可以预加载其他音频文件,例如['src_to_file.mp3','src_to_file.ogg']

audio

string

,

object

jBox打开时要播放的音频文件的URL。设置没有文件扩展名的URL,jBox将查找.mp3和.ogg文件。要在jBox关闭时播放音频,请使用一个对象,例如{open:'src_to_audio1',close:'src_to_audio2'}

volume

integer

,

object

音量的百分比。要打开和关闭不同的卷,请使用对象,例如{open:75,close:100}

Events

OnInit

function

jBox初始化时触发。请注意,您可以使用此事件的功能,它指的是你的jBox对象,如OnInit的:函数(){ this.open(); }

onAttach

function

当jBox附加到元素时触发

onPosition

function

jBox定位时触发

onCreated

function

在jBox创建并且在DOM中可用时触发

OnOpen

function

jBox打开时触发

OnClose

function

jBox关闭时被触发

onCloseComplete

function

当jBox完全关闭时(褪色完成时)触发

Additional options for plugin Confirm

confirmButton

string

提交按钮的文本

cancelButton

string

取消按钮的文本

confirm

function

单击提交按钮时要执行的功能。默认情况下,如果找到,jBox将按顺序使用onclick或href属性

cancel

function

单击取消按钮时执行的功能

closeOnConfirm

boolean

当用户单击确认按钮时关闭jBox

Additional options for plugin Image

src

string

获取图像源的属性,例如链接的'href':

gallery

string

用于设置图库的属性,例如'data-jbox-gallery'。更改此选项时,请确保选中附加选项,因为jBox图像默认附加到[data-jbox-gallery]。

imageLabel

string

jBox从中获取图像标签的属性,例如'title'

imageFade

integer

图像的淡入淡出持续时间,单位为毫秒

imageSize

cover, contain,
auto,

string

如何显示图像。使用背景位置的 CSS样式,例如'cover',' 50%auto'

imageCounter

boolean

设置为true以添加图像计数器,例如4/20

imageCounterSeparator

string

用于将当前图像编号与所有图像编号分开的HTML,例如'/'或'of'

Additional options for plugin Notice

color

black, red, green,
blue, yellow

为通知添加颜色

stack

boolean

设置为false以禁用通知堆叠

stackSpacing

integer

通知堆叠时的间距

二,方法

在jBox上使用方法的最佳方法是将jBox保存在变量中:

var myModal = new jBox('Modal');
 
myModal.setTitle('My Title');
myModal.setContent('My Content');
myModal.open();

所有方法都返回jBox实例,因此您可以链接它们:

var myModal = new jBox('Modal').setTitle('My Title').setContent('My Content').open();

Open and close

.open(options)

打开jBox。您可以使用选项目标设置新目标,例如{target: $('#newTarget')}。如果你的jBox有一个开启延迟,你可以使用ignoreDelay选项强制它立即打开,例如{ignoreDelay: true}。要在打开jBox时设置新的AJAX内容,可以传递一个AJAX对象,例如{ajax:{url:'http: //ajaxresponse.com '}}

.close(options)

关闭jBox。如果你的jBox有一个关闭延迟,你可以使用ignoreDelay选项强制它立即关闭,例如{ignoreDelay:true}

.toggle(options)

调用方法打开时jBox被关闭,关闭时,它是开放的

Dimensions

.setWidth(value)
.setHeight(value)

设置内容容器的CSS宽度和高度。可选你可以设置第二个参数来禁用jBox的自动重新定位,例如.setWidth(200,true)

Attaching jBox

.attach(jQuery selector)

将jBox附加到元素。提供jQuery选择器是可选的。如果您没有告诉此方法使用哪些元素,它将使用选项中定义的选择器。当在运行时创建应该打开或关闭jBox的元素时,应该调用此方法

.detach(jQuery selector)

从元素中删除打开和关闭功能

Content

.setTitle(title)

设置jBox的标题。如果还没有标题,则会创建它。如果尺寸改变,jBox将重新定位,禁用,传递true作为第二个参数:.setTitle('myTitle',true)

.setContent(content)

设置jBox的内容。您可以使用jQuery元素追加元素(将CSS样式显示设置为none,这样元素就不会显示在您的页面上)。如果维度发生变化,jBox将重新定位,禁用,将第二个参数传递为真:.setContent('myContent',true)

.ajax(options)

重新加载AJAX请求。您可以传递选项网址和数据,例如{url: '/ example.php', data:'id = 82'}或任何jQuery ajax选项

Audio

.audio(url, volume)

播放音频文件。不要添加文件扩展名,jBox会查找.mp3和.ogg文件

Position

.position(options)

重新计算你的jBoxes位置。您可以使用选项目标设置新目标,例如{target: $('#newTarget')}

Animation

.animate(animation, options)

您的jBox或任何其他元素的动画。你可以使用动画 'tada', 'tadaSmall', 'flash', 'shake', 'pulseUp','pulseDown', 'popIn', 'popOut', 'fadeIn', 'fadeOut', 'slideUp', ' slideRight', 'slideLeft'和'slideDown'。动画方法独立于选项动画。默认情况下,此方法将为jBox包装器设置动画,{element:('#animateMe')}。要在动画结束时执行一个函数,请使用选项complete,例如{complete:function(){('#animateMe')。remove(); }}

Disable and enable

.disable()

禁用您的jBox,在启用之前您将无法打开或关闭它

.enable()

启用您的jBox,以便您可以再次关闭并打开它

Visibility

.hide()

禁用和隐藏jBox。这不会影响叠加

.show()

再次启用并显示您的jBox

Destroy jBox

.destroy()

销毁你的jBox并将其从DOM中删除

本文所有内容,均翻译与官方文档。若有疑问联系qq:35290838