基于BootStarp的Dailog


Posted in Javascript onApril 28, 2016

BootStrip简介

Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。

Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。 它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。

Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。  国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。

1.1. 帮助文档关键字

boostrap模态框oaoDailog

1.2. 使用场景

当网页上点击某个按钮需要给予用户提示确认,用户点击确认按钮才能继续执行,或者用户点击取消按钮则取消执行操作;

当网页上点击查看,展示的数据需要使用弹出框展示的情况下,可以使用oaoDailog

1.3. 原理图

基于boostrap3.0的modal,jquery1.9

1.4. 使用说明

为什么需要oaoDailog?

a.由于boostrap3.0提供的modal,必须要在页面上先定义一个modal的div隐藏代码,用户将需要展示的内容写到该div中,如果一个页面有多种模态框,则需要写多个隐藏的模态框div隐藏代码,无疑这是多余的。

b.由于默认的modal是没有确认和取消按钮的,当然我们可以写两个button在模态框的隐藏div中,但是我们同时需要写js去监控确认按钮点击后执行的操作,同时确认按钮执行的操作,跟弹出时用户点击的数据有关系,数据如何传递,bootstrap没有给我们提供。

c. oaoDailog1.0.0版本主要就是解决bootstrap的模态框使用不方便,代码冗余的问题。

效果图:

基于BootStarp的Dailog

开始使用

1、 引入oaoDailog.js

Code:

<script type="text/javascript" src="${ctx}/static/jquery/jqueryApi/oaoDialog/oao.dialog.js" charset="UTF-8"></script>

2、 调用展示弹出框的代码

Code:

oao.dialog({
title:"删除提示框",
content:"请确认是否真的删除,删除后将无法恢复!",
ok:function(){
oao.dialog.close();
}
});

这就是一个基本也是使用最常见的确认弹出框的使用方法。

1.5. API

oao.dialog():这个方法是生成弹出框的方法,传入的参数是一个json对象,当然你也可以什么都不传,那样会弹出一个空白的弹出框,这是没有问题的。下面分别介绍每个参数的意思以及默认值。

属性名 属性类型 说明 默认值
title String 弹出框标题 提示
content String 弹出框的主要内容,可以是文本和html代码
okVal String 确认按钮的自定义文字 确认
ok Function/boolean 点击确认执行的方法 关闭功能
cancelVal String 取消按钮的自定义文字 取消
cancal Function/boolean 点击取消执行的方法 关闭功能

•oao.dialog.close():关闭模态框

1.6. 待支持的功能 1.目前弹出框的内容只支持文字和静态html,不支持url请求

2.目前最多只能显示两个按钮,不支持自定义按钮,后续支持

3.目前弹出框的位置和大小不支持自定义

4.目前的弹出框一次只能弹出一个,不支持弹出框中再弹出一个模态框(bootstrap modal底层不支持)

敬请期待,下个版本见。

/*!
* oaoDialog 1.0.0
* author:xufei
* Date: 2015-7-9 1:32
* http://www.oaoera.com
* Copyright © 2014 www.oaoera.com Inc. All Rights Reserved. 沪ICP备13024515号-1 上海义信电子商务有限公司 
*
* This is licensed under the GNU LGPL, version 2.1 or later.
* For details, see: http://creativecommons.org/licenses/LGPL/2.1/
*/
//oao命名空间
oao = {};
oao.init = function(settings){
var defaultSettings ={
title : "提示",
content:"",
okVal:"确认",
cancalVal:"取消",
ok:function(){
$("#oaoModal").modal('hide');
},
cancel:function(){
$("#oaoModal").modal('hide');
},
close:false
}
oao.settings = $.extend({}, defaultSettings, settings || {});
return oao.settings;
}
oao.initContent = function(){
var modelHtml = 
"<div id=\"oaoModal\" class=\"modal fade delete_modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\" >"+
" <div class=\"modal-dialog\">"+
" <div class=\"modal-content\">"+
" <div class=\"modal-header\">"+
" <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button>"+
" <h4 class=\"modal-title\"></h4>"+
" </div>"+
" <div class=\"modal-body\" style=\"text-align:center;\">"+
" </div>"+
" <div class=\"modal-footer\">"+
" <button type=\"button\" class=\"btn btn-default modalCancel\"></button>"+
" <button type=\"button\" class=\"btn btn-primary modalOK\"></button>"+
" </div>"+
" </div>"+
" </div>"+
" </div>";
var $modelHtml = $(modelHtml);
$(".modalOK",$modelHtml).text(oao.settings.okVal);
$(".modalCancel",$modelHtml).text(oao.settings.cancalVal);
$(".modal-title",$modelHtml).text(oao.settings.title);
$(".modal-body",$modelHtml).html(oao.settings.content);
if(!oao.settings.ok){
$(".modalOK",$modelHtml).remove();
}
if(!oao.settings.cancel){
$(".modalCancel",$modelHtml).remove();
}
$("body").append($modelHtml);
}
//弹出对话框的方法
oao.dialog = function(settings){
settings = oao.init(settings);
oao.initContent();
//关闭的时候调用方法
$('#oaoModal').on('hidden.bs.modal', function (e) {
if(oao.settings.close){
oao.settings.close();
}
$("#oaoModal").remove();
})
if(oao.settings.ok){
$("#oaoModal .modalOK").click(settings.ok);
}
if(oao.settings.cancel){
$("#oaoModal .modalCancel").click(settings.cancel);
}
$("#oaoModal").modal('show')
.css({
"margin-top": function () {
return ($(this).height() / 2-200);
}
});;
}
//关闭对话框的方法
oao.dialog.close = function(){
$("#oaoModal").modal('hide');
}
Javascript 相关文章推荐
javascript操作cookie_获取与修改代码
May 21 Javascript
JS在IE和FF下attachEvent,addEventListener学习笔记
Nov 26 Javascript
js控制容器隐藏出现防止样式变化的两种方法
Apr 25 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
May 04 Javascript
jquery无限级联下拉菜单简单实例演示
Nov 23 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
Jun 13 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
Jan 04 Javascript
ES6新特性之函数的扩展实例详解
Apr 01 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
Dec 13 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
Layui 解决表格异步调用后台分页的问题
Oct 26 Javascript
JavaScript数组排序功能简单实现
May 14 Javascript
浅析jquery与checkbox的checked属性的问题
Apr 27 #Javascript
JavaScript 消息框效果【实现代码】
Apr 27 #Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
Apr 27 #Javascript
js实现人民币大写金额形式转换
Apr 27 #Javascript
javascript实现不同颜色Tab标签切换效果
Apr 27 #Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
Apr 27 #Javascript
JavaScript弹窗基础篇
Apr 27 #Javascript
You might like
PHP简单系统查询模块代码打包下载
2008/06/07 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
改写函数实现PHP二维/三维数组转字符串
2013/09/13 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
python删除文件示例分享
2014/01/28 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
简单实现python画圆功能
2018/01/25 Python
flask入门之表单的实现
2018/07/18 Python
浅析python的优势和不足之处
2018/11/20 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
英语老师推荐信
2014/02/26 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
我为党旗添光彩演讲稿
2014/09/10 职场文书
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
MySQL详细讲解变量variables的用法
2022/06/21 MySQL