<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
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 class =“mySpinner”> </ 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':<a href="/path/image.jpg">
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中删除
本文所有内容,均翻译与官方文档。 权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/echizao1839/article/details/82344510