基于bootstarp的Dailog

oaoDailog开发帮助

  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的模态框使用不方便,代码冗余的问题。

效果图:

开始使用

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).text(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‘);
}
时间: 2024-11-06 07:08:48

基于bootstarp的Dailog的相关文章

第十七篇 基于Bootstarp 仿京东多条件筛选插件的开发(展示下)

前些时候用换了工作,本来是用的前端框架是easyui,后面用的是bootstrap.对于我来说虽然不是新东西,因为原来毕业时候用过一段时间,也不懂什么插件的开发,现在用过easyui后觉得easyui的用法比较好,容易上手,所有一直有个想法,去开发几个插件自己用用.不多说,上篇文章发面一个多选插件的使用方法,虽然有点不是很完善,但还是可以来用用的.这次就详细说说原理和开发的结节,以及要注意的地方.关于jQuery的插件开发根本也不是什么难的事情,下面就说的我的想法. 开发的原理 jQuery的插

第十六篇 基于Bootstarp 仿京东多条件筛选插件的开发(展示上)

这几天学习Bootstrap,本来是两年前的用的东西,现在又重新拾起来,又有很多重新的认识,看了Bootstrap的样式偏多,插件现在还没有学习到几个,也有写几个插件自己用的想法.正好工作上也会用到,现在就写一个京东上筛选商品的插件,不多说上图. 首先看下API 这次只是用来说明下功能 下篇开始说具体的思路,其实也不难自己可以学习下,Demo奉上,但是js代码加密,有想学习都请邮件联系我:[email protected] Demo:http://pan.baidu.com/s/1i3q6oYT

一步一步实现MVC5+EF6+Bootstarp+Autofac+NoSql实现OADemo 之登陆(一) 验证码 Captcha 之大插件小用

不知何年何月才能完成OADemo啊,总之还是一步一步来吧,这段时间开始着手了,先做登陆.  前段时间研究了一下在CentOS7下安装Mysql和Memcached服务,并测试了用C#操作,结果还行. 今天做一个简单的基于Bootstarp的响应式登陆页面(其实是在网上下的模板),不管是登陆还是注册吧,都会用到验证码,以前是用GDI绘出来的,觉得太丑了,百度的关于.net的验证码绝大多数也是用的这种方法,最后试了一下captcha,觉得还挺好看的,所以就试着用用. nugit控制台install-

MVC5+EF6+Bootstarp+Autofac+NoSql实现OADemo 之登陆(一) 验证码 Captcha 之大插件小用

不知何年何月才能完成OADemo啊,总之还是一步一步来吧,这段时间开始着手了,先做登陆. 前段时间研究了一下在CentOS7下安装Mysql和Memcached服务,并测试了用C#操作,结果还行. 今天做一个简单的基于Bootstarp的响应式登陆页面(其实是在网上下的模板),不管是登陆还是注册吧, ... bbs.chinaacc.com/forum-2-3/topic-5655867.html bbs.chinaacc.com/forum-2-3/topic-5655895.html bbs

验证码 Captcha 之大插件

验证码 Captcha 之大插件小用 不知何年何月才能完成OADemo啊,总之还是一步一步来吧,这段时间开始着手了,先做登陆.  前段时间研究了一下在CentOS7下安装Mysql和Memcached服务,并测试了用C#操作,结果还行. 今天做一个简单的基于Bootstarp的响应式登陆页面(其实是在网上下的模板),不管是登陆还是注册吧,都会用到验证码,以前是用GDI绘出来的,觉得太丑了,百度的关于.net的验证码绝大多数也是用的这种方法,最后试了一下captcha,觉得还挺好看的,所以就试着用

细说JavaScript 导出 上万条Excel数据

首先这是个鸡肋的方法 合理的做法是 后端直接生成 前端给个链接就行了 (先说原因与过程最后上代码) 1. 先说说为什么会出现这个需求吧. : 在写运维网站时 自己粗略的看了一下bootstarp-table 就是 基于bootstarp的一个table框架 发现其扩展插件有个导出的功能 Excel 于是乎,就和老板夸下海口 说什么分页的 导出的就在前端做吧 于是...呵呵,起初在测试服时由于数据量小  导出就没有多大问题,但是当数据量大(大于300条)的情况下 发现 网页直接就卡死了现象 ,一下

博文目录 2015.11.23

第24篇 js小知识和“坑” (2015-11-21 18:15) 第23篇 js快速学习知识 (2015-11-19 23:10) 第22篇 js中的this指针的用法 (2015-11-17 23:16) 第21篇 js四种继承方式 (2015-11-16 23:16) 第20篇 js高级知识---深入原型链 (2015-11-15 07:51) 第十九篇 js高级知识---词法分析和AO 链 (2015-11-11 23:19) 第十八篇 js高级知识---作用域链 (2015-11-09

前端可以用的资源

好用的JQuery库 FullPage.js 参考网站:http://alvarotrigo.com/fullPage/ 好用的网页模板 基于bootstarp的后台管理员模板 参考网站:http://startbootstrap.com/template-overviews/sb-admin/

ListCode增删改查代码生成器介绍

1. 简介 listcode 是一个增删改查代码在线生成工具.主要提供java,python,php,nodejs等常见语言和框架的 CRUD代码生成服务(即 常见的增删改查),后台代码.前端界面.js等,一站解决. 相比于传统的增删改查代码生成器,ListCode 做了很多完善, 不论从功能的丰富程度,还是支持的语言.技术框架种类上都有了很大进步,可以很大的提高开发效率,减少人工介入修改的工作量. 功能特点: 前后端代码.js.UI一站生成 翻页,多条件联合查询 外键关联编辑.展示 输入验证,