当前位置: 首页 > 工具软件 > jBox > 使用案例 >

jBox属性与方法

郑乐池
2023-12-01

 

<script src="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

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

Dimensions

width
height
auto, integer内容区域的宽度和高度
minWidth 
minHeight
integer内容区域的最小宽度和高度
maxWidth 
maxHeight
integer内容区域的最大宽度和高度
responsiveWidth 
responsiveHeight
boolean调整宽度和高度以适合视口
responsiveMinWidth 
responsiveMinHeight
integer不要将宽度或高度调整到此值以下(以像素为单位)

Attaching jBox

attachjQuery selector用于打开和关闭jBox的元素的jQuery选择器,例如'.tooltip'
triggerclick,
mouseenter,
touchclick
定义jBox在与附加元素交互时打开或关闭的事件
preventDefaultboolean打开jBox时防止默认事件,例如,不要在链接中跟随href

Content

contentstring,
jQuery element
设置jBox的内容。您可以使用jQuery元素追加元素(将CSS样式显示设置为none,以便元素不会显示在您的页面上)
getContentstring在jBox打开时从属性获取内容,例如'data-content'。使用'html'将附加元素HTML作为内容
titlestring为jBox添加标题
getTitlestringjBox打开时从属性中获取标题,例如'data-title'
footerstring在jBox中添加页脚
isolateScrollboolean隔离滚动到内容容器

AJAX

ajax:{ 
    url:null
    data:''
}
设置URL时,jBox在打开时发出AJAX请求。您可以添加任何jQuery ajax选项,例如beforeSendcompletesuccess等。
↳urlstring发送AJAX请求的URL
↳datastringobject要使用您的AJAX请求发送的数据,例如{id:82,limit:10}
↳reloadbooleanstrictjBox打开时重新发送AJAX请求。使用true仅对每个元素发送一次AJAX请求调用,或者每次jBox打开时发送'strict'重新发送
↳getURLstring源元素中AJAX请求将查找URL的属性,例如'data-url'
↳getDatastring源元素中AJAX请求将查找数据的属性,例如'data-ajax'
↳setContentboolean当AJAX请求完成时,自动将响应设置为新内容
↳spinnerbooleanstring隐藏当前内容并在加载时添加微调器。您可以传递HTML内容来添加自己的微调器,例如spinner:'<div class =“mySpinner”> </ div>'
↳spinnerDelayinteger等待微调器出现的毫秒数
↳spinnerRepositionboolean添加或删除微调器时重新定位jBox

Position

targetjQuery selectorjQuery的jQuery选择器将打开jBox。如果没有找到元素,jBox将使用附加元素作为目标
positionobject设置具有水平位置x和垂直位置y的对象,例如{x:'right', y:'center'}。您还可以设置绝对位置的数字
outsidexyxy将jBox移动到目标元素之外
offsetintegerobject抵消最终位置。您可以使用对象为xy设置不同的值,例如{x:15,y:-10}
attributesobject定义应使用哪些CSS属性,例如{x:'right', y:'bottom'}。请注意,右侧底部只能在您的位置值为整数时使用,例如{x:300,y:20}
fixedboolean滚动时,您的jBox将保持在位
adjustPositionflip, move,
boolean
如果空间不足,请调整jBoxes位置。值'flip'将jBox定位在相反的外部位置,值'move'仅适用于指针。设置为true以同时使用两者。此选项会覆盖重新定位选项
adjustTrackerboolean默认情况下,jBox在打开时或窗口大小更改时调整其位置,设置为true以在滚动时调整
adjustDistanceintegerobject调整时到视口边缘的最小距离。使用对象设置不同的值,例如{top:50, right:5,bottom:20, left:5}
repositionboolean窗口大小更改时计算新位置
repositionOnOpenboolean每次jBox打开时计算新位置(而不是仅在第一次打开时计算)
repositionOnContentboolean使用.setContent().setTitle()更改内容时计算新位置

Pointer

pointerboolean,
left, right,
top, bottom,
center
您的指针将始终指向目标元素,因此外部选项需要为“x”“y”。默认情况下,指针居中,设置一个位置以将其移动到任何一侧。您还可以添加偏移量,例如“left:30”“center:-20”
pointTotarget,
left, right,
top, bottom
除了'target'之外其他设置将添加指针,即使没有设置或找到目标元素

Animations

fadeinteger淡入淡出持续时间(以ms为单位),设置为0false以禁用
animationobject,
zoomIn, zoomOut,
pulse, move,
slide, flip,
tada
jBox打开或关闭时的动画。
要使用不同的动画进行打开和关闭,请使用对象:{open:'tada', close:'flip'}。您还可以设置移动方向和幻灯片动画:{open:'move:right', close:'slide:top'}

Appearance

themestring设置一个jBox主题类,例如'TooltipDark'
addClassstring将类添加到包装器
overlayboolean添加叠加层以在jBox打开时隐藏页面内容(使用CSS调整颜色和不透明度)
zIndexinteger使用高z-index

Delays

delayOpeninteger延迟开启毫秒。请注意,如果您的jBox没有完成关闭,则会忽略延迟
delayCloseinteger延迟以毫秒结束。注意,总是有一个至少10毫秒的关闭延迟,以确保jBox在立即打开时不会关闭

Closing jBox

closeOnEscboolean按[esc]键关闭jBox
closeOnClickboolean, body,
box, overlay
用鼠标点击关闭jBox:当你点击任何地方时关闭true,点击叠加'叠加',点击jBox本身时'box',当你点击jBox时点击'body'
closeOnMouseleaveboolean当鼠标离开jBox区域或附加元素的区域时关闭jBox
closeButtonboolean, overlay,
title, box
在jBox中添加一个关闭按钮。如果可以找到任何这些元素,则值true将按顺序将按钮添加到overlay,title或jBox本身

Other options

appendTojQuery element您的jBox将附加到的元素。除$('body')之外的任何其他元素仅对固定位置或位置值为数字有用
createOnInitboolean创建jBox并在初始化时使其在DOM中可用,否则它将在首次打开时创建
blockScrollboolean当jBox打开时阻止滚动
draggableboolean, title,
jQuery selector
使您的jBox可拖动。使用title或提供jBox的任何子元素的选择器作为句柄
的dragoverboolean当您有多个可拖动的jBox时,您选择的jBox将始终移动到其他jBox上
autoCloseintegerbooleanjBox打开后自动关闭的时间(以毫秒为单位)

Audio

preloadAudiobooleanarray预加载选项音频中设置的音频文件。您还可以预加载其他音频文件,例如['src_to_file.mp3','src_to_file.ogg']
audiostringobjectjBox打开时要播放的音频文件的URL。设置没有文件扩展名的URL,jBox将查找.mp3.ogg文件。要在jBox关闭时播放音频,请使用一个对象,例如{open:'src_to_audio1',close:'src_to_audio2'}
volumeintegerobject音量的百分比。要打开和关闭不同的卷,请使用对象,例如{open:75,close:100}

Events

OnInitfunctionjBox初始化时触发。请注意,您可以使用事件的功能,它指的是你的jBox对象,如OnInit的:函数(){ this.open(); }
onAttachfunction当jBox附加到元素时触发
onPositionfunctionjBox定位时触发
onCreatedfunction在jBox创建并且在DOM中可用时触发
OnOpenfunctionjBox打开时触发
OnClosefunctionjBox关闭时被触发
onCloseCompletefunction当jBox完全关闭时(褪色完成时)触发

Additional options for plugin Confirm

confirmButtonstring提交按钮的文本
cancelButtonstring取消按钮的文本
confirmfunction单击提交按钮时要执行的功能。默认情况下,如果找到,jBox将按顺序使用onclickhref属性
cancelfunction单击取消按钮时执行的功能
closeOnConfirmboolean当用户单击确认按钮时关闭jBox

Additional options for plugin Image

srcstring获取图像源的属性,例如链接的'href'<a href="/path/image.jpg">
gallerystring用于设置图库的属性,例如'data-jbox-gallery'。更改此选项时,请确保选中附加选项,因为jBox图像默认附加到[data-jbox-gallery]
imageLabelstringjBox从中获取图像标签的属性,例如'title'
imageFadeinteger图像的淡入淡出持续时间,单位为毫秒
imageSizecover, contain,
auto, string
如何显示图像。使用背景位置的 CSS样式,例如'cover'50%auto'
imageCounterboolean设置为true以添加图像计数器,例如4/20
imageCounterSeparatorstring用于将当前图像编号与所有图像编号分开的HTML,例如'/''of'

Additional options for plugin Notice

colorblack, red, green,
blue, yellow
为通知添加颜色
stackboolean设置为false以禁用通知堆叠
stackSpacinginteger通知堆叠时的间距

二,方法

在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
 

 类似资料: