BootstrapQ 封装Bootstrap tree,dialog等

【前言】

使用bootstrap有两年时间了,积累了一些经验,做下分享。

计划会开源,这篇文章先简单介绍一下。

【软肋】

其实bootstrap已经很好了,唯一的软肋就是js方面有些薄弱,对比easyui就知道了,

可以很明显的知道bootstrap是前端人员创建的,而easyui是偏后端人员创建的。

【积累】

对bootstrap做了一些封装,可以使大家使用更方便,如下:

1.封装了alert

2.封装了confirm

3.封装了dialog

4.封装了msg

5.封装了tooltip

6.封装了popover

7.封装了bstree

8.封装了bstro

【alert】

理由:bootstrap是没有alert插件的,基于模态框封装了一下

效果:

使用方法:

// 无回调
qiao.bs.alert(‘这是一个提示‘);

// 有回调
qiao.bs.alert(‘这是一个提示‘,function(){
	alert(1);
});

【confirm】

理由:同alert

效果:

使用方法:

qiao.bs.confirm(‘确定要这样吗?‘,function(){
	alert(‘点击了确定‘);
},function(){
	alert(‘点击了取消‘);
});

【dialog】

理由:同上

效果:

用法:

qiao.bs.dialog({
	url : ‘/ucenter/role/setUrl/‘ + id,
	title : ‘设置Url‘,
	okbtn : ‘保存‘
}, qiao.role.addUrl);

参数:

qiao.bs.dialog(options,func);

其中options有:

qiao.bs.modaloptions = {
	url 	: ‘‘,
	fade	: ‘fade‘,
	close	: true,
	title	: ‘title‘,
	btn	: false,
	okbtn	: ‘确定‘,
	qubtn	: ‘取消‘,
	msg	: ‘msg‘,
	big	: false,
	show	: false,
	remote	: false,
	backdrop: ‘static‘,
	keyboard: true,
	style	: ‘‘
};

func是回调函数,

返回true,关闭dialog

返回false,不关闭dialog

【msg】

理由:bootstrap没有提示消息的js组件,封装了一个

效果:

用法:

// 只有提示
qiao.bs.msg(‘一个提示‘);

// 自定义配置
qiao.bs.msg({
	msg  : ‘危险提示‘,
	type : ‘danger‘,
	time : 2000
});

【tooltip】

理由:bootstrap的tooltip每次都需要手动激活,比较麻烦

效果:

用法:

// 默认提示
$(‘#test1‘).bstip(‘123‘);

// 可配置
$(‘#test1‘).bstip({
	animation 	: true,
	container 	: ‘body‘,
	content		: ‘content‘,
	html		: true,
	placement	: ‘bottom‘,
	title		: ‘‘,
	trigger		: ‘hover‘//click | hover | focus | manual.
});

【popover】

理由:同上

效果:

用法:

// 默认提示
$(‘#test1‘).bspop(‘123‘);

// 可配置
$(‘#test1‘).bspop({
	animation 	: true,
	container 	: ‘body‘,
	content		: ‘content‘,
	html		: true,
	placement	: ‘bottom‘,
	title		: ‘‘,
	trigger		: ‘hover‘//click | hover | focus | manual.
});

【bstree】

理由:

bootstrap最大的软肋就是做后台ui的时候功能太弱,例如tree组件,datagrid组件都没有,在这点上easyui完胜bootstrap,

封装了tree,这个比较复杂。

效果:

可编辑效果:

选择效果:

用法:

数据结构:

以java为例,需要有这几个属性:

	private int id;
	private String url;
	private String text;
	private boolean checked = false;
	private List<QTree> children;

js参数:

qiao.bs.tree.options = {
	url 	: ‘/ucenter/menu/‘,
	height 	: ‘600px‘,
	open	: true,
	edit	: false,
	checkbox: false,
	showurl	: true
};

【bstro】

理由:这个是封装了一个网站引导插件bootstro

效果:

看这里:http://zhidao.beiwaionline.com/

或者:

用法:

	var isbstro = $.cookie(‘bootstro‘);
	if(!isbstro){
		qiao.bs.bstro([
			[‘#md5input‘,‘<h3 style="margin-top:10px;">使用关键字检索问题或知识点~</h3>‘],
			[‘.breadcrumb‘,‘<h3 style="margin-top:10px;">也可以分类检索问题知识点哟~</h3>‘],
			[‘#questionsDiv‘,{content:‘<h3 style="margin-top:10px;">这里是问题知识点列表~</h3>‘,place:‘right‘}],
			[‘#addQuestionLi‘,‘<h3 style="margin-top:10px;">提问,或添加知识点在这里~</h3>‘],
			[‘#userRankLi‘,‘<h3 style="margin-top:10px;">用户最佳回答排行榜~</h3>‘],
			[‘#userLoginLi‘,‘<h3 style="margin-top:10px;">从这里登录哦~</h3>‘]
		],{
			obtn : ‘我已了解,下次不再提示!‘,
			exit : function(){$.cookie(‘bootstro‘,‘ok‘,{expires:30, path:‘/‘});}
		});
	}

【效果】

总得来说,有几点效果:

1.大大简化使用bootstrap的方法

2.封装了一些常用插件

【开源】

等时间充足,和BootstrapQ更加完善后会开源。

【更多】

更多文章请看:http://uikoo9.com/blog/list

时间: 2024-11-05 17:28:41

BootstrapQ 封装Bootstrap tree,dialog等的相关文章

BootstrapQ 包Bootstrap tree,dialog等待

官方网站:http://uikoo9.com/bootstrapQ why 事实上bootstrap已经非常好了,唯一的软肋就是js方面有些薄弱,对照easyui就知道了. 能够非常明显的知道bootstrap是前端人员创建的,而easyui是偏后端人员创建的. what 对bootstrap做了一些封装,能够使大家使用更方便,例如以下: 1.封装了alert 2.封装了confirm 3.封装了dialog 4.封装了msg 5.封装了tooltip 6.封装了popover 7.封装了bst

bootstrap-dialog简单使用

使用bootstrap想要实现弹出对话框的效果,我们可以使用bootstrap的modal.但是modal使用起来比较繁琐,需要编写大量的div代码.bootstrap-dialog很好的解决了这个问题. bootstrap-dialog的gitlhub地址 bootstrap-dialog参考案例 使用boostrap-dialog非常简单, 首先,引入boostrap-dialog.js和bootstrap-dialog.css文件 然后,简单的一句就可以搞定了. BootstrapDial

angularjs封装bootstrap官网的时间插件datetimepicker

背景:angular与jquery类库的协作 第三方类库中,不得不提的是大名鼎鼎的jquery,现在基本上已经是国内web开发的必修工具了.它灵活的dom操作,让很多web开发人员欲罢不能.再加上已经很成熟的jquery UI 库和大量jquery 插件,几乎是一个取之不尽用之不竭的宝库.然而,它是否能与angularjs结合呢? 很多angularjs原教旨主义者对此持否定态度.他们认为,既然已经使用了angularjs做web应用框架,那就必须避免其他类库的干扰,做纯净的MvvM模式应用.任

bootstrap中dialog水平垂直居中

方法一: HTML: <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">     Launch demo modal </button> <!-- Modal --> <div class="modal fade" id=&q

jquery easyui tree dialog

<script type="text/javascript" src="<%=request.getContextPath()%>/include/javascript/portalPage/jquery-1.11.2.min.js"></script> <link rel="stylesheet" href="<%=request.getContextPath()%>/emr/in

封装element-ui的dialog组件

封装组件: <template> <div class="dialog-container"> <el-dialog title="title" :visible.sync="visible" @close="$emit('update:show', false)" :show="show"> <span>this is a dialog.</span&

基于bootstrap的Dialog

function yms_Dialog(container_id, modal_path,handle_function) { /// <summary> /// 方法介绍: 上海一门式Dialog(bootstrap框),框的地址为部分视图(注意框上弹框时,父框和子框id不能冲突) /// </summary> /// <param name="container_id">容器的ID</param> /// <param name

关于java 展示树形菜单Tree的一些备忘信息。[bootstrap tree]

最近在项目中,需要迭代,显示树形菜单,这里我们使用的是bootstracp,所以使用的是bootstracp多级列表树, 使用的时候,非常简单,只需 <!-- Required Stylesheets --> <link href="./css/bootstrap.css" rel="stylesheet"> <!-- Required Javascript --> <script src="./js/jquery

Django中使用Bootstrap展示树形结构

概述 在企业管理系统中,经常会有树形结构需求,例如:组织结构.权限等等,本文使用Django和Bootstrap Tree View来展示企业组织结构和对应组织的人员. 实现 模型类(models.py) class Department(models.Model): name = models.CharField(u'单位名称', max_length=30) pri = models.IntegerField(u'序号') desc = models.CharField(u'备注', max