html5拖动的面板 panel,基于jQuery UI的Bootstrap Panel面板功能增强插件
LobiPanel是一款基于jQuery UI的Bootstrap Panel面板功能增强插件。通过该插件可以为Bootstrap的原生Panel面板增加编辑标题,最大化,最小化,面板拖动关闭面板等功能。
使用方法
使用该Bootstrap面板功能增强插件需要引入jquery,jquery ui相关文件和bootstrap相关文件,以及lobipanel.css和lobipanel.js文件。
HTML结构
LobiPanel最基本的HTML结构如下,它完全是bootstrap标准的panel结构:
Panel title
Lorem ipsum...
初始化插件
在页面DOM元素加载完毕之后,可以通过lobiPanel()方法来初始化该插件。
$(function(){
$('.panel').lobiPanel({
// 配置参数
...
});
});
完成上面的操作之后,就可以得到类似下图的Panel面板。
使用面板右上角的图标按钮,你可以执行以下一些操作:
按钮将从文档中移除该Panel面板。注意,这个操作是不可撤销的。
按钮可以使面板全屏打开。
按钮从指定的URL中加载内容到.panel-body中。
按钮可以使面板浮动起来,并可以通过鼠标进行拖拽。再次点击这个按钮就可以使面板回到原来的位置上。
按钮有2个功能:
1、收缩已经展开的面板。
2、最小化该面板。
配置参数
以下所有的参数都可以通过data-*来设置,你只需要将参数的驼峰格式修改为连线格式即可。例如:connectWith参数使用data-*来表示就是data-connect-with。
你也可以在data-*属性中插入一个对象,例如:data-close="{tooltip: 'Something'}"。
参数
类型
默认值
描述
draggable
Boolean
true
面板是否可以拖动。注意,该选项需要jQuery ui draggable的支持
sortable
Boolean
false
面板是否可以排序。注意,该选项需要jQuery ui sortable的支持
connectWith
String
".ui-sortable"
jQuery ui排序插件选项
resize
String
"both"
设置面板缩放的方向,可选值有:"both", "vertical", "horizontal", "none"
minWidth
Integer
200
面板的最小宽度
minHeight
Integer
100
面板的最小高度
maxWidth
Integer
1200
面板的最大宽度
maxHeight
Integer
700
面板的最大高度
loadUrl
String
""
加载内容的URL地址,如果没有提供reload按钮就不会加载任何东西
tooltips
Boolean
true
是否在面板控制按钮上显示tooltips
toggleIcon
String
"glyphicon glyphicon-cog"
下拉菜单切换图标
expandAnimation
Integer
100
扩展到全屏的动画持续时间
collapseAnimation
Integer
100
从全屏收缩回来的动画持续时间
unpin
Object
{
icon : 'glyphicon glyphicon-move',
tooltip : 'Unpin'
}
icon属性是切换拖动按钮的图标,tooltip属性是按钮的提示文本
reload
Object
{
icon : 'glyphicon glyphicon-refresh',
tooltip : 'Reload'
}
icon属性是重新加载按钮的图标,tooltip属性是按钮的提示文本
minimize
Object
{
icon : 'glyphicon glyphicon-minus',
icon2 : 'glyphicon glyphicon-plus',
tooltip : 'Minimize'
}
icon属性是全屏按钮的图标,icon2是收缩按钮的图标,tooltip属性是按钮的提示文本
close
Object
{
icon : 'glyphicon glyphicon-remove',
tooltip : 'Close'
}
icon属性是关闭按钮按钮的图标,tooltip属性是按钮的提示文本
editTitle
Object
{
icon: 'glyphicon glyphicon-pencil',
icon2: 'glyphicon glyphicon-floppy-disk',
tooltip: 'Edit title'
}
方法
可以通过2个方法来调用该插件的方法。
1、你可以获取LobiPanel的对象实例,然后调用方法。
//get the LobiPanel instance
var instance = $('.lobipanel').data('lobiPanel');
//call the methods
instance.unpin();
instance.setPosition(400, 360);
instance.setLoadUrl("htpp://www.example.com");
var position = instance.getPosition();
//method chaining is also available
instance.setSize(400, 400)
.setPosition(400, 360)
.setLoadUrl("htpp://www.example.com")
.load();
2、或者你也可以直接调用方法。
$('.lobipanel').lobiPanel('startLoading');
$('.lobipanel').lobiPanel("setPosition", 400, 360);
var position = $('.lobipanel').lobiPanel("getPosition");
方法
参数
返回类型
描述
isPanelInit
none
Boolean
检查面板是否被初始化。面板被初始化后会带有.lobipanel class和data-inner-id属性
isPinned
none
Boolean
检测面板是否是固定的
pin
none
LobiPanel对象
固定面板
unpin
none
LobiPanel对象
将面板浮动
togglePin
none
LobiPanel对象
将面板在固定和浮动之间切换
isMinimized
none
LobiPanel对象
检测面板是否被最小化
minimize
none
LobiPanel对象
最小化面板
maximize
none
LobiPanel对象
最大化面板
toggleMinimize
none
LobiPanel对象
在最大化和最小化之间切换
isOnFullScreen
none
Boolean
检测面板是否扩展到全屏
toFullScreen
none
LobiPanel对象
将面板扩展到全屏
toSmallSize
none
LobiPanel对象
将面板收缩到最小
toggleSize
none
LobiPanel对象
在全屏和最小面板之间切换
close
none
LobiPanel对象
关闭面板(将面板从文档中移除)
setWidth(width)
width - Integer, REQUIRED new width of the panel
LobiPanel对象
改变面板的宽度,如果宽度超出minWidth和maxWidth之间的范围,将使用minWidth或maxWidth来作为宽度
setHeight(height)
height - Integer, REQUIRED new height of the panel
LobiPanel对象
改变面板的高度,如果高度超出minHeight和maxHeight之间的范围,将使用minHeight或maxHeight来作为高度
setSize(width, height)
width - Integer, REQUIRED new width of the panel
height - Integer, REQUIRED new height of the panel
LobiPanel对象
通过指定的宽度和高度来设置面板的尺寸
getPosition
none
{
x: 'left coordinate',
y: 'top coordinate'
}
获取面板的当前位置
getWidth
none
面板的Integer类型宽度
获取面板的宽度
getHeight
none
面板的Integer类型高度
获取面板的高度
bringToFront
none
LobiPanel对象
如果面板被其它元素遮盖,使用该方法将面板放置在前面
enableDrag
none
LobiPanel对象
使面板可以被拖动,在浮动面板中该方法自动被调用
disableDrag
none
LobiPanel对象
禁止拖动面板
enableResize
none
LobiPanel对象
使面板可以修改尺寸
disableResize
none
LobiPanel对象
禁止面板修改尺寸
startLoading
none
LobiPanel对象
开始加载
stopLoading
none
LobiPanel对象
停止加载
setLoadUrl(url)
url - String , REQUIRED
LobiPanel对象
设置loadUrl属性
load(params)
params - Mixed,OPTIONAL
LobiPanel对象
通过ajax来加载内容到.panel-body中
destroy
none
jQuery元素
销毁LobiPanel实例
startTitleEditing
none
LobiPanel对象
编辑面板的标题
isTitleEditing
none
Boolean
检测面板标题是否在编辑中
cancelTitleEditing
none
LobiPanel对象
取消新编辑的标题,恢复原来的面板标题
finishTitleEditing
none
LobiPanel对象
完成面板标题的编辑
enableTooltips
none
LobiPanel对象
允许在面板控制按钮上显示提示文本
disableTooltips
none
LobiPanel对象
禁止在面板控制按钮上显示提示文本
事件
使用事件:
$('.lobipanel').on('init.lobiPanel', function(ev, lobiPanel){
window.console.log("init event called");
});
$('.lobipanel').on('beforeUnpin.lobiPanel', function(ev, lobiPanel){
window.console.log("Before unpin", lobiPanel);
});
$('.lobipanel').on('onSmallSize.lobiPanel', function(ev, lobiPanel){
window.console.log("On small size", ev, lobiPanel);
});
$('.lobipanel').on('loaded.lobiPanel', function(ev, lobiPanel, result, status, xhr){
window.console.log("Loaded", ev, lobiPanel, result, status, xhr);
});
事件
描述
init.lobiPanel
当面板初始化时调用
beforeUnpin.lobiPanel
面板浮动前被调用
onUnpin.lobiPanel
面板浮动后被调用
beforeClose.lobiPanel
面板被关闭前调用
onClose.lobiPanel
面板被移除后调用
beforeToFront.lobiPanel
面板通过z-index属性被显示时调用
onToFront.lobiPanel
当面板被点击并通过z-index属性被显示时调用
beforePin.lobiPanel
面板被固定前调用
onPin.lobiPanel
面板被固定后调用
beforeMinimize.lobiPanel
面板最小化前调用
onMinimize.lobiPanel
面板最小化后调用
beforeMaximize.lobiPanel
面板最大化前调用
onMaximize.lobiPanel
面板最大化后调用
beforeFullScreen.lobiPanel
面板扩展到全屏前调用
onFullScreen.lobiPanel
面板扩展到全屏后调用
beforeSmallSize.lobiPanel
面板扩展从全屏时尚前调用
onSmallSize.lobiPanel
面板扩展从全屏时尚后调用
beforeLoad.lobiPanel
在面板内容被加载前调用
startLoading.lobiPanel
当通过ajax调用内容时触发
loaded.lobiPanel
当面板内容被加载后触发
resizeStart.lobiPanel
resize操作开始时触发
onResize.lobiPanel
在resize操作期间触发
resizeStop.lobiPanel
在浮动面板resize操作结束时触发
dragged.lobiPanel
在排序结束,DOM元素位置改变后触发
html5拖动的面板 panel,基于jQuery UI的Bootstrap Panel面板功能增强插件相关推荐
- 一款基于jquery ui的动画提交表单
今天要给大家分享一款基于jquery ui的动画提交表单.这款提交表单的的效果是以动画的形式依次列表所需填写的信息.效果非常不错,效果图如下: 在线预览 源码下载 实现的代码. html代码: & ...
- 基于 jquery ui 扩展Widget
jQuery UI CSS Framework是jQuery UI中的一个样式框架,可以利用jQuery Theme roller 来生成自己想要的css样式效果.我们可以利用jQuery UI的一些 ...
- html下拉式列表框多选,基于jQuery UI的多项选择下拉列表框组件
jquery.multiselect.js是一款基于jQuery UI的多项选择下拉列表框组件.该下拉列表功能强大,可以实现多选和单选,可制作打开和关闭下拉框时的炫酷动画效果,提供丰富的回调函数和其它 ...
- 使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins)
使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins) 使用 jQuery UI Widget Factory 编写有状态的插件(Stateful ...
- 基于jquery类库的绘制二维码的插件jquery.qrcode.js
jquery.qrcode.min.js 如下 (function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.d ...
- html5窗口播放插件,基于jQuery UI的模拟windows窗口插件
jquery-lwd是一款轻量级的基于jQueryUI的模拟windows窗口插件.该插件可以模拟windows窗口,对窗口进行最大化,最小化,拖动等操作.并提供windows2000经典主题效果.它 ...
- html5圆形头像滚动效果,基于jQuery实现响应式圆形图片轮播特效
本文实例讲述了基于jQuery实现响应式圆形图片轮播特效代码.分享给大家供大家参考.具体如下: 运行效果截图如下: mislider是一款效果非常酷的jQuery响应式圆形图片轮播图特效插件,misl ...
- jQuery 使用 jQuery UI 部件工厂编写带状态的插件(翻译)
首先,我们要创建一个progress bar,它只允许我们简单的设置进度值.正如我们接下来将要看到的,我们需要通过调用 jQuery.widget 及其两个参数来实现这一操作,这两个参数分别是:将要创 ...
- [转]JQuery ui 实现类似于confirm的功能
本文转自:http://www.cnblogs.com/JerryWang1991/archive/2011/08/04/2127503.html 今天在改进参加一个全国比赛的项目作品时,发现使用了大 ...
最新文章
- linux chattr命令
- SSM+maven实现答题管理系统(二)
- WinRar 代替之选:7-Zip+7zSfxTool
- 记事本快捷键设置 java_Java给JFrame窗口设置热键---不完整记事本
- Serverless 与容器决战在即?有了弹性伸缩就不一样了
- 大数据时代的技术hive:hive介绍
- error: missing or invalid dependency detected while loading class file 'RDD.class'.
- E - The Imp(博弈/动态规划)
- Qt creator5.7 OpenCV249之方框滤波(含源码下载)
- linux中写如空格参数,Vim中Tab与空格缩进
- Rust 升级成微软第一梯队语言;“熊孩子”乱敲键盘攻破 Linux 桌面;500 个值得学习的 AI 开源项目| 开发者周刊...
- Git:撤销回滚操作
- 烂泥:windows server 2008取消关闭事件跟踪
- pygame判断鼠标左键_鼠标科普,选对鼠标用好鼠标。
- ASP 文件下载实例
- macOS Mojave patcher 无法制作启动盘
- PS:教会你改【背景图颜色】
- 邮件客户端里的网络设置
- java判断闰年中闰月_闰年闰月查询表_闰月查询表_闰年查询表-万年历
- Linux系统下安装jdk及环境配置(两种方法)