B-JUI文档、下载

B-JUI是一款用于快速开发WEB管理系统的前端框架,基于Bootstrap和jQuery。本文档详细介绍了B-JUI的目录结构、页面结构、初始化、DOM元素ID命名规范、全局事件、数据属性、javascript API等,并对Navtab、Dialog、alertmsg、bjuiajax等组件的使用、参数、方法进行了详细阐述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特别说明

本文档仅适用于最新版的B-JUI,网站首页或下载页可以查看B-JUI的最后更新时间。

B-JUI前端管理框架适用于快速开发各类WEB管理系统,可与任意后端程序(java、php、.net...)配合使用。

B-JUI基于Bootstrap样式及jQuery库开发,目前有各类常用组件,已集成部分常用插件,可以很的方便引入第三方jQuery插件。

B-JUI目录结构

B-JUI/
├── js/
│   ├── bjui-all.js
│   ├── bjui-all.min.js
│   ├── bjui-all.min.js.map
│   ├── jquery-1.11.3.min.js
│   ├── jquery.cookie.js       
├── themes/
│   ├── blue/
│   ├── green/
│   ├── purple/
│   ├── css/
│   │   ├── FA/
│   │   ├── img/
│   │   ├── style.css
│   │   ├── bootstrap.min.css
│   │   └── ie7.css
│   └── fonts/
├── plugins/
│   ├── bootstrap.min.js
│   └── 其他插件...         
└── other/  

  

js 目录是B-JUI的js及jQuery jquery-1.11.3.min.js 。 themes 目录是样式文件,包含B-JUI样式文件style.css 和 bootstrap.css 及 蓝、绿、紫 三套皮肤,以及 Font Awesome 字体。 plugins 目录包含 bootstrap.min.js 及其他用到的插件。

页面结构

框架主页面结构:

主页面结构的html代码请参考下载压缩包中的 index.html 。

子页面结构如下:

<div class="bjui-pageHeader">
	<!-- 顶部模块[如:功能按钮、搜索面板] -->
</div>
 
<div class="bjui-pageContent">
	<!-- 内容区 -->
</div>
 
<div class="bjui-pageFooter">
	<!-- 底部模块[如:操作按钮] -->
</div>

子页面主要用于创建 navtab 、 dialog 页面。

初始化框架

BJUI.init(options)

options参数请参考下载目录中的 index.html 文件。

DOM元素ID命名规范

因为本框架默认所有内容都位于一个Document中,所以为元素命名ID的时候需要做到唯一性,如果确实不可避免的会出现有重复ID的现象,需要操作当前子页面的元素时,尽量用:
$.CurrentNavtab.find('#dom-id') ,在当前标签工作区中查找指定ID的元素。
或 $.CurrentDialog.find('#dom-id') ,在当前弹窗中查找指定ID的元素。

全局事件

B-JUI的全局事件如下:

事件名称 中文说明 描述
bjui.initUI 框架初始化事件 监听该事件,可以为指定的DOM初始化框架组件及插件,例如:本框架监听该事件用于在文档加载完成或ajax加载完成时,初始化框架及插件
bjui.beforeInitUI 框架初始化前事件 监听该事件,可以在框架初始化前进行相关操作。例如:本框架的任一容器DOM如果添加了属性['data-noinit="true"],该容器内的元素都不会被初始化,处理这个流程就监听了本件事。
bjui.afterInitUI 框架初始化后事件 监听该事件,可以在框架初始化后进行相关操作,示例同上。
bjui.ajaxStatus ajax请求状态事件 框架内部事件。本事件用于在ajax请求过程中(ajaxStart - > ajaxStop),显示/隐藏 框架的Mask loading效果。
bjui.resizeGrid 窗口缩放事件 监听该事件,可在浏览器窗口或dialog窗口缩放时进行相关操作。
bjui.beforeAjaxLoad ajax载入前事件 监听该事件,可在使用ajaxUrl方法 (navtab/dialog均用此方法加载子页片内容) 前进行相关操作,例如:本框架监听该事件用于在重载入子页片前释放在body中生成的selectpicker插件资源。

下面是一个事件示例,来自DEMO中,作用是代码片断着色及添加COPY按钮:

$(document).on(BJUI.eventType.afterInitUI, function(event) {
    $(event.target).find('.highlight').each(function(){
        var b='<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>';
        var p=$(this).find('> pre.prettyprint');
        p.addClass('linenums').html($.trim(p.html()));
        prettyPrint();
        $(this).before(b);
    })
})

data属性

同 Bootstrap 一样,你可以仅仅通过 data 属性 API 就能使用 B-JUI提供的插件,而无需写 JavaScript 代码,如下面的代码就是调用信息提示框 alertmsg 的用法。

<button type="button" class="btn-default" data-toggle="alertmsg" data-options="{type:'info', msg:'我是一个普通的信息提示!'}">信息提示</button>

javascript API

除了data属性之外,也提供 javascript 的 API,如下面的代码将实现同上面data属性一致的效果。

<button type="button" class="btn-default" οnclick="alertmsg_onclick();">信息提示</button>
<script type="text/javascript">
function alertmsg_onclick() {
    BJUI.alertmsg('info', '我是一个普通的信息提示!')
}
</script>

 

url动态赋值

URL动态赋值:指的是url中包含{ selector },即大括号括起来的jQuery选择器,当提交该url时,框架会自动将selector对应元素的值替换到大括号所占区域。

后面的文档中,凡是标记有 D-Url 字样的URL参数,均支持动态赋值,通常支持动态赋值的url,同时支持warn参数,warn参数携带动态赋值不成功时的提示信息。

字符串函数等

方法 参数说明 返回 描述及示例
$(form).serializeJson() -- json 将表单域内容转换为json格式。
$(selector).isTag(tagName) html元素名称 boolean 判断当前jQuery对象的标签名是否为tagName。示例:if ($('#test-aa').isTag('a')) {alert('我是一个a链接!')}
string.isPositiveInteger() -- boolean 判断字符串是否是正整数。示例:var aa = '112233'; alert(aa.isPositiveInteger())
string.isInteger() -- boolean 判断字符串是否是整数。示例:var aa = '-112233'; alert(aa.isInteger())
string.isNumber() -- boolean 判断字符串是否是数字。示例:var aa = '112.233'; alert(aa.isNumber())
string.isNormalID() -- boolean 判断字符串是以字母开头,并由数字、字母、中横线、下划线组成。示例:var aa = 'navtab-test_1'; alert(aa.isNormalID())
string.includeChinese() -- boolean 判断字符串是否包含汉字。示例:var aa = '中国520'; alert(aa.includeChinese())
string.trim() -- string 去除字符串两端空格,同jQuery的$.trim(string)。示例:var aa = ' 11哈11 '; alert(aa.trim())
string.startsWith(str) 待比较的字符串 boolean 判断字符串是否以str开头。示例:var aa = 'hello112233'; alert(aa.startsWith('hello'))
string.endsWith(str) 待比较的字符串 boolean 判断字符串是否以str结尾。示例:var aa = '112233hello'; alert(aa.endsWith('hello'))
string.replaceSuffix(index) -- boolean 判断字符串是否是正整数。示例:var aa = '112233'; alert(aa.isPositiveInteger())
string.encodeTXT() -- string 转义html字符串。示例:
Copy
  1. var html = '<p>我是一行数据!</p>'; alert(html.encodeTXT())
string.trans() -- string 还原已转义的html字符串。示例:var html = '<p>我是一行数据!</p>'; alert(html.trans())
string.replaceAll(ostr, nstr) 搜索字符串,替换字符串 boolean 替换所有匹配的字符串。示例:var aa = '1122331122'; alert(aa.replaceAll('11', '**'))
string.toBool() -- boolean 将字符串转为boolean型。示例:var aa = 'true'; alert(aa.toBool())
string.toJson() -- string|json 将字符串转换为json,成功转换返回json,失败返回源字符串。示例:var aa = '{"name":"张三"}'.toJson(); alert(typeof aa === 'object' ? aa.name : aa)
string.toObj() -- string|object 将字符串转换为object,成功转换将返回object,失败返回源字符串。示例:var aa = '{name:"张三", age:30}'; aa = aa.toObj(); alert(typeof aa === 'object' ? aa.age : aa)
string.toFunc() -- string|object 将字符串转换为function,成功转换将返回function,失败返回源字符串。示例:var aa = 'function() {alert("我是一个方法~")}'; aa = aa.toFunc(); if (typeof aa === 'function') {aa.apply()}。还支持window对象下的字符串函数名转换,示例2:window.testfunc = function() { alert('我是一个window方法!') }; var aa = 'testfunc'.toFunc(); if (typeof aa === 'function') {aa.apply()}
通过页面结构图可以看出Navtab是B-JUI框架的重要组成部分,除去顶部导航及侧边栏后就是Navtab。Navtab采用标签形式显示多个子页面,按住标签不放可以拖动排序,在标签上右键可以刷新或关闭标签。

使用

通过data属性:

<button type="button" class="btn-default" data-toggle="navtab" data-options="{id:'test_navtab1', url:'/html/base/navtab-demo1.html', title:'示例Navtab1'}">打开Navtab1</button>

通过JS API:

BJUI.navtab({
    id:'test_navtab3',
    url:'/html/base/navtab-demo3.html',
    title:'示例Navtab3'
})

参数

名称 类型 默认值 描述
id string undefined [必选] 标签的ID,如果指定重复,将覆盖现有的ID相同标签。
title string New tab [可选] 标签打开后显示的名称。
url string undefined [必选] D-Url 请求数据的url,a链接触发时可以将url定义在href属性。
external boolean false [可选] 是否以iframe方式加载外部页面。
type string GET [可选] Http请求方式,可选‘GET/POST’。
data object {} [可选] 请求url时,需要发送的data数据。
loadingmask boolean true [可选] ajax请求时是否显示数据加载遮罩。
fresh boolean false [可选] 是否保持该navtab的新生状态,表现在重复打开该navtab时,是否重新载入内容。
reloadWarn string null [可选] 当准备在已存在的navtab上加载内容时的确认提示信息。
autorefresh boolean/int(秒) false [可选] 指定该navtab是否可自动刷新,为true时默认间隔15秒自动刷新,指定具体的秒数则以指定的间隔秒值自动刷新。
onLoad function($navtab) null [可选] navtab加载完成后的事件回调,回调函数的参数$navtab为该navtab内容区的jQuery对象。
beforeClose function($navtab) null [可选] 返回值: boolean。 navtab关闭前的事件回调,返回true则关闭,返回false不关闭。
onClose function() null [可选] navtab关闭后的事件回调。

方法

方法名 参数类型 参数说明 描述
switchTab(tabid) string 标签ID 切换到某个标签。
refresh(tabid) string 标签ID,ID为空则刷新当前标签 刷新某个标签。
reloadFlag(tabids) string 一个或多个标签ID,多个ID以,分隔 为某(几)个标签设定重载标记(当切换到该标签时重新载入)。
reload(options) object 同navtab默认参数 重新载入某个标签,如果未指定ID,则默认重载入当前标签。
closeTab(tabid) string 标签ID 关闭某个标签。
closeCurrentTab([tabid]) string 标签ID,可选。 关闭当前标签。
closeAllTab() -- -- 关闭所有标签。

方法使用示例:

// 刷新ID为 navtab-test-1 的Navtab
BJUI.navtab('refresh', 'navtab-test-1')

Dialog是浮动在主页面上的弹出窗口,分为普通弹窗和模态弹窗。Dialog是B-JUI的重要组成部分,可以进行最大化,最小化,拖动大小和位置等操作。

使用

通过data属性:

<button type="button" class="btn-default" data-toggle="dialog" data-options="{id:'test_dialog1', url:'/html/base/dialog-demo1.html', title:'示例Dialog1'}">打开Dialog1</button>

通过JS API:

BJUI.dialog({
    id:'test_dialog3',
    url:'/html/base/dialog-demo3.html',
    title:'示例Dialog3'
})

参数

<
名称 类型 默认值 描述
id string dialog [必选] 弹窗的ID,如果指定重复,将覆盖现有的ID相同弹窗。
title string New Dialog [可选] 弹窗打开后显示的名称,可从data-title属性获取或直接获取触发DOM的text值。
url string undefined [可选] 参数url、image、html、target必选一项,优先级url > image > html > target。 D-Url 请求数据的url,a链接触发时可以将url定义在href属性。
image string null [可选] 图片地址,让dialog显示该图片,image参数可以使用encodeURI函数编码。
html string null [可选] 指定一段html内容加载到dialog。
target selector null [可选] 从指定的jQuery容器中加载内容到dialog,请为该容器添加属性data-noinit="true"以阻止容器中的内容提前初始化,为容器添加Class[hide]以隐藏待加载内容。
type string GET [可选] Http请求方式,可选‘GET/POST’。
data object {} [可选] 请求url时,需要发送的data数据。
loadingmask boolean true [可选] ajax请求时是否显示数据加载遮罩。
width int 500 [可选] 弹窗的宽度。
height int 300 [可选] 弹窗的高度。
max boolean false [可选] 打开弹窗时直接最大化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值