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面板。

29d421a235bd783ec0006d448b799759.png

使用面板右上角的图标按钮,你可以执行以下一些操作:

按钮将从文档中移除该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元素位置改变后触发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358521.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqlmap --tamper 绕过WAF脚本分类整理

每当注入的时候看到这个贱贱的提示框,内心有千万只草泥马在奔腾。 但很多时候还是得静下来分析过滤系统到底过滤了哪些参数,该如何绕过。 sqlmap中的tamper给我们带来了很多防过滤的脚本,非常实用,可能有的朋友还不知道怎样才能最…

table 首先冻结_首先记录异常的根本原因

table 首先冻结Logback日志库的0.9.30版本带来了一个很棒的新功能:从根(最内部)异常而不是最外部异常开始记录堆栈跟踪。 当然,我的激动与我贡献了此功能无关。 用塞西尔德米勒(Cecil B. de Mille) 的话来形…

Spring Boot框架敏感信息泄露的完整介绍与SRC实战(附专属字典与PoC)

转载于:https://www.freebuf.com/vuls/289710.html #前言##Spring Boot框架介绍Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西。因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配…

从外网Thinkphp3日志泄露到杀入内网域控 - 红队攻击之域内靶机渗透实战演练

1.简要描述 这个工具写完有一段时间了,看网上目前还没有一个thinkphp的漏洞集成检测工具,所以打算开源出来。 2.代码结构 插件化思想,所有的检测插件都plugins目录里,TPscan.py主文件负责集中调度。 插件目录: ThinkPHP 用户…

使用WildFly 9和Jolokia监视DevOps样式

DevOps是当今最热门的话题之一。 而且围绕它的主题范围很广,因此很难真正找到完整的描述或涵盖体面粒度的所有内容。 可以肯定的一件事:最重要的部分之一是提供正确的度量标准和信息以监视应用程序。 Java EE和JMX 监视Java EE服务器的标准方法是JMX。 …

QQ聊天记录恢复、迁移教程(改变默认存储位置、个人文件夹保存位置)

方法一:适用于将原QQ聊天记录存储位置迁移至非系统盘 1、 在想要存储的区域新建文件夹,如: E:\099 Chat Data\Tencent Files\。 2、 打开电脑QQ,设置——文件管理。 3、 点击浏览,选择099 Chat Data下的Tencent Files…

html type=text/css,type=text/css 有什么用啊 ?

用处是告诉浏览器,这段标签内包含的内容是css或text,也就是说如果某种浏览器(特别是wap等手机浏览器械、)不能识别css的,会将代码认为text,从而不显示也不报错。type->类型,这里是style的属性text/css ->文本/css,即css文本…

记一次应急响应到溯源入侵者

文本转载于:https://www.freebuf.com/articles/web/289450.html 1. 前言今年的某月某日,系统监测到客户的一企业官网www.******.com遭到了网页篡改,经过人工确认将浏览器的UA替换为百度UA后访问网站,此时网站链接自动跳转至赌博类…

系统测试集成测试单元测试_单元和集成测试的代码覆盖率

系统测试集成测试单元测试我最近在一个宠物项目中着手构建自动化的UI(集成)测试以及普通的单元测试。 我想将所有这些集成到我的Maven构建中,并提供代码覆盖率报告,以便我可以了解测试覆盖率不足的区域。 我不仅发布了项目的源代码…

计算机盘符无法重命名,win8磁盘分区无法重命名怎么办

有些用户在使用Win8系统的过程中遇到C盘分区重命名的时候发生“无法修改名称”,那么win8磁盘分区无法重命名怎么办呢?下文学习啦小编就分享了解决win8磁盘分区无法重命名的方法,希望对大家有所帮助。win8磁盘分区无法重命名解决方法1、 按“WinR”输入“regedit”单…

记一次CNVD通用漏洞审计

本文转载于:https://www.freebuf.com/articles/web/290697.html 0x01 前言写这篇文章的缘由其实还挺魔幻的,起因是在一次实战渗透时通过弱口令拿下一个低权限用户成功进入后台,在后台寻找功能点通过抓包分析,定位到目标系统后台存…

计算机管理里边如何分盘,如何给电脑分盘【设置门径】

很多小伙伴都遇到过如何给电脑分盘的困惑吧,一些朋友看过网上零散的如何给电脑分盘的处理方法,并没有完完全全明白如何给电脑分盘是如何解决的,今天小编准备了简单的解决办法,只需要按照1:首先我们找到电脑里面的此电脑…

电脑常识——host文件修改(屏蔽网站或解开屏蔽)

1. 什么是host文件: Hosts文件主要作用是定义IP地址和主机名的映射关系,是一个映射IP地址和主机名的规定。可以用文本文件打开!当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址&#xff…

glassfish_具有GlassFish和一致性的高性能JPA –第3部分

glassfish在我的四部分系列的第三部分中,我将说明将Coherence与EclipseLink和GlassFish结合使用的第二种策略。 这就是通过EclipseLink使用Coherence作为二级缓存(L2)的全部内容。 一般的做法 这种方法将Coherence数据网格应用于依赖于数据库…

应广大粉丝的要求,推荐几本前端书籍

这些书籍平时会直接发送在主页的QQ技术群,有兴趣的可以加一下。 不想去培训机构,不想花大笔钱的学习,那就自学吧!接招

java的数据结构

本文转自互联网 1、二叉树:非线性数据结构,常被用于实现二叉查找树和二叉堆 二叉树的第i层至多有2的 i -1次方个结点;深度为k的二叉树至多有2^(k) -1个结点;对任何一棵二叉树T。 满二叉树 完全二叉树 平衡二叉树 2、 二叉树的遍历…

AssertJ的SoftAssertions –我们需要它们吗?

编写好的单元测试的规则之一是,它应该出于某种原因而失败,因此,单元测试应该测试一种逻辑概念。 有时很难在每个测试中拥有一个断言。 为了遵循规则,我们可能在一个测试中每个对象具有多个断言。 但是,在单个测试中存…

早上起来CSDN的PC端主页积分变成了0

没有违法,没有乱纪,这是什么鬼?我刚才百度了一下,很多大牛都有类似的经历,心里舒服多了 平台BUG还是挺多的,说不准哪天就轮到你啦,哈哈!!

Fofa搜索技巧

Fofa搜索技巧(理论加实践的整理) 题记 最近在整理以前的知识,不过最近出现职业病了,打开fofa看站点就停不下来。我把常用的fofa查询语句记录下来,方便查阅。钟馗之眼和他有区别也异曲同工。 https://fofa.so/ http://…

魔兽世界阿拉索人数最多服务器,魔兽世界8.3哪个区人多_wow8.3服务器人数统计介绍_3DM网游...

魔兽世界8.3人口最多大区是很多玩家都非常关心的一件事情,很多玩家都想在这个新版本去最多的服务器,很多玩家都想知道服务器人口,来看看魔兽世界8.3哪个区人多,wow8.3服务器人数统计介绍。8.3人口最多大区介绍魔兽世界8.3安苏大区…