具体效果如下:
插件说明
- jBox 是一款基于 jQuery 的多功能对话框插件,能够实现网站的整体风格效果,给用户一个新的视觉享受。
运行环境
- 兼容 IE6+、Firefox、Chrome、Safari、Opera 等主流浏览器。备注:IE不支持边框的圆角样式,不推荐大家使用蛋痛的IE浏览器。
使用授权
- jBox 永久免费使用,但是必须保留相关的版权信息。如果有好的建议,请Email: kudychen@gmail.com,jBox的完善需要大家的好建议。
使用方法:
<script type="text/javascript" src=http://www.zhizhiyun.com/skin/default/image/nopic.gif>
请根据自己的喜好修改全局设置以减少方法时传递的参数。另外,jBox的皮肤是很容易制作的,最简单的就是只修改CSS样式里的颜色,在会PS的情况下更是可以制作多样化的皮肤。
$.jBox()
函数原型:
$.jBox(content, options);
└ 或者 jBox(content, options);
参数说明:
- content (string,json)
└ 可以是string或json。当是string时,需要加上前缀标识(html:、id:、get:、post:、iframe:),如果没有加标识,系统会自动加上html:,具体请看应用例子。当是json时,表示一个或多个状态,每个状态的默认值为 $.jBox.stateDefaults。
- options [可选] (json)
└ 其它参数选项,默认值为 $.jBox.defaults。
备注:如果想手动关闭jBox(不包括下面的tip与messager,它们另有方法),请调用 $.jBox.close(token) 方法。
示例(一):
// 此例省略了前缀html:,前缀标识是不区分大小写的,也可以是HTML:var info = 'jQuery jBox<br /><br />版本:v2.0<br />日期:2011-7-24<br />'; info += '官网:<a target="_blank" href="http://kudystudio.com/jbox">http://kudystudio.com/jbox</a>'; $.jBox.info(info);
示例(二):
// 显示id为id-html的div内部html,同时设置了bottomText$.jBox('id:id-html', { bottomText: '这是底部文字' });
示例(三):
// ajax get 页面ajax.html的内容并显示,例如要提交id=1,则地址应该为 ajax.html?id=1,post:前缀的使用与get:的一样$.jBox("get:ajax.html");
示例(四):
// 用iframe显示http://www.baidu.com的内容,并设置了标题、宽与高、按钮$.jBox("iframe:http://www.baidu.com", { title: "百度一下", width: 800, height: 350, buttons: { '关闭': true } });
示例(五):
var content = { state1: { content: '状态一', buttons: { '下一步': 1, '取消': 0 }, buttonsFocus: 0, submit: function (v, h, f) { if (v == 0) { return true; // close the window } else { $.jBox.nextState(); //go forward // 或 $.jBox.goToState('state2') } return false; } }, state2: { content: '状态二,请关闭窗口哇:)', buttons: { '上一步': 1, '取消': 0 }, buttonsFocus: 0, submit: function (v, h, f) { if (v == 0) { return true; // close the window } else { $.jBox.prevState() //go back // 或 $.jBox.goToState('state1'); } return false; } } }; $.jBox(content);
示例(六):
var html = "<div style='padding:10px;'>输入姓名:<input type='text' id='yourname' name='yourname' /></div>";var submit = function (v, h, f) { if (f.yourname == '') { $.jBox.tip("请输入您的姓名。", 'error', { focusId: "yourname" }); // 关闭设置 yourname 为焦点 return false; } $.jBox.tip("你叫:" + f.yourname); //$.jBox.tip("你叫:" + h.find("#yourname").val()); //$.jBox.tip("你叫:" + h.find(":input[name='yourname']").val()); return true; }; $.jBox(html, { title: "你叫什么名字?", submit: submit });
$.jBox.open()
函数原型:
$.jBox.open(content, title, width, height, options);
└ 或者 jBox.open(content, title, width, height, options);
参数说明:
- content (string,json)
└ 可以是string或json。当是string时,需要加上前缀标识(html:、id:、get:、post:、iframe:),如果没有加标识,系统会自动加上html:,具体请看应用例子。当是json时,表示一个或多个状态,每个状态的默认值为 $.jBox.stateDefaults。
- title [可选] (string)
└ 窗口标题,值为null时为不显示标题,默认值为 $.jBox.defaults.title。
- width [可选] (string,number)
└ 窗口宽度,值为'auto'或具体像素值(例如350),默认值为 $.jBox.defaults.width。
- height [可选] (string,number)
└ 窗口高度,值为'auto'或具体像素值(例如100),默认值为 $.jBox.defaults.height。
- options [可选] (json)
└ 其它参数选项,默认值为 $.jBox.defaults。
备注:$.jBox.open() 只是 $.jBox() 的一个扩展,方便 title、width、height 参数的传递。
示例(一):
$.jBox.open("iframe:http://www.baidu.com", "百度一下", 800, 350, { buttons: { '关闭': true} });
示例(二): (content为Json对象,比较复杂一点的例子)
var html1 = '<div class="msg-div">' + '<p>购买数量:</p><div class="field"><input type="text" id="amount" name="amount" value="1" /></div>' + '<p>收货地址:</p><div class="field"><textarea id="address" name="address"></textarea></div>' + '<div class="errorBlock" style="display: none;"></div>' + '</div>';var html2 = '<div class="msg-div">' + '<p>给卖家留言:</p><div class="field"><textarea id="message" name="message"></textarea></div>' + '</div>';var data = {};var states = {}; states.state1 = { content: html1, buttons: { '下一步': 1, '取消': 0 }, submit: function (v, h, f) { if (v == 0) { return true; // close the window } else { h.find('.errorBlock').hide('fast', function () { $(this).remove(); }); data.amount = f.amount; //或 h.find('#amount').val(); if (data.amount == '' || parseInt(data.amount) < 1) { $('<div class="errorBlock" style="display: none;">请输入购买数量!</div>').prependTo(h).show('fast'); return false; } data.address = f.address; if (data.address == '') { $('<div class="errorBlock" style="display: none;">请输入收货地址!</div>').prependTo(h).show('fast'); return false; } $.jBox.nextState(); //go forward // 或 $.jBox.goToState('state2') } return false; } }; states.state2 = { content: html2, buttons: { '上一步': -1, '提交': 1, '取消': 0 }, buttonsFocus: 1, // focus on the second button submit: function (v, o, f) { if (v == 0) { return true; // close the window } else if (v == -1) { $.jBox.prevState() //go back // 或 $.jBox.goToState('state1'); } else { data.message = f.message; // do ajax request here $.jBox.nextState('<div class="msg-div">正在提交...</div>'); // 或 $.jBox.goToState('state3', '<div class="msg-div">正在提交...</div>') // asume that the ajax is done, than show the result var msg = []; msg.push('<div class="msg-div">'); msg.push('<p>下面是提交的数据</p>'); for (var p in data) { msg.push('<p>' + p + ':' + data[p] + '</p>'); } msg.push('</div>'); window.setTimeout(function () { $.jBox.nextState(msg.join('')); }, 2000); } return false; } }; states.state3 = { content: '', buttons: {} // no buttons}; states.state4 = { content: '', buttons: { '确定': 0 } }; $.jBox.open(states, '提交订单', 450, 'auto');
$.jBox.prompt()
函数原型:
$.jBox.prompt(content, title, icon, options);
└ 或者 jBox.prompt(content, title, icon, options);
参数说明:
- content (string)
└ 只能是string,不支持前缀标识,默认值为''。
- title [可选] (string)
└ 窗口标题,值为null时为不显示标题,默认值为 $.jBox.defaults.title。
- icon [可选] (string)
└ 内容图标,值为'none'时为不显示图标,可选值有'none'、'info'、'question'、'success'、'warning'、'error',默认值为'none'。
- options [可选] (json)
└ 其它参数选项,默认值为 $.jBox.defaults。
备注:以下几个方法由 $.jBox.prompt() 扩展而来,参数类似,请看下面的例子。$.jBox.alert(content, title, options);
└ 或者 jBox.alert(content, title, options);
$.jBox.info(content, title, options);
└ 或者 jBox.info(content, title, options);
$.jBox.success(content, title, options);
└ 或者 jBox.success(content, title, options);
$.jBox.error(content, title, options);
└ 或者 jBox.error(content, title, options);
$.jBox.confirm(content, title, submit, options);
└ 或者 jBox.confirm(content, title, submit, options);
$.jBox.warning(content, title, submit, options);
└ 或者 jBox.warning(content, title, submit, options);
└ 上面方法中默认按钮的文字设置在 $.jBox.languageDefaults
示例(一):
//加了个其它参数closed$.jBox.prompt('Hello jBox', 'jBox', 'info', { closed: function () { alert('prompt is closed.'); } });
示例(二):
$.jBox.alert('Hello jBox', 'jBox');
示例(三):
$.jBox.info('Hello jBox', 'jBox');
示例(四):
$.jBox.success('Hello jBox', 'jBox');
示例(五):
$.jBox.error('Hello jBox', 'jBox');
示例(六):
var submit = function (v, h, f) { if (v == 'ok') jBox.tip(v, 'info'); else if (v == 'cancel') jBox.tip(v, 'info'); return true; //close}; $.jBox.confirm("确定吗?", "提示", submit);
示例(六02):
var submit = function (v, h, f) { if (v == true) jBox.tip("恩", 'info'); else jBox.tip("好吖", 'info'); return true; };// 自定义按钮$.jBox.confirm("天使,做我女朋友吧?", "表白提示", submit, { buttons: { '恩': true, '好吖': false} });
示例(七):
var submit = function (v, h, f) { if (v == 'yes') { $.jBox.tip('已保存。', 'success'); } if (v == 'no') { $.jBox.tip('没保存。'); } if (v == 'cancel') { $.jBox.tip('已取消。'); } return true; };// 可根据需求仿上例子定义按钮$.jBox.warning("内容已修改,是否保存?", "提示", submit);
$.jBox.tip()
函数原型:
$.jBox.tip(content, icon, options);
└ 或者 jBox.tip(content, icon, options);
参数说明:
- content (string)
└ 只能是string,不支持前缀标识,默认值为''。
- icon [可选] (string)
└ 内容图标,可选值有'info'、'success'、'warning'、'error'、'loading',默认值为'info',当为'loading'时,timeout值会被设置为0,表示不会自动关闭。
- options [可选] (json)
└ 其它参数选项,默认值为 $.jBox.tipDefaults。
备注:如果想手动关闭tip,请调用 $.jBox.closeTip() 方法。
示例(一):
$.jBox.tip('Hello jBox');
示例(二):
//加了个其它参数focusId$.jBox.tip('关闭后设置输入框为焦点', 'info', { focusId: 'tip-input' });
输入框:
示例(三):
//加了个其它参数closed$.jBox.tip('关闭后设置输入框为已选择', 'error', { closed: function () { $('#tip-input2').select(); } });
输入框:
示例(四):
$.jBox.tip("正在XX,你懂的...", 'loading');// 模拟2秒后完成操作window.setTimeout(function () { $.jBox.tip('XX已完成。', 'success'); }, 2000);
示例(五):
var submit = function (v, h, f) { if (v == 'ok') { $.jBox.tip("正在删除数据...", 'loading'); // 模拟2秒后完成操作 window.setTimeout(function () { $.jBox.tip('删除成功。', 'success'); }, 2000); } else if (v == 'cancel') { // 取消 } return true; //close}; $.jBox.confirm("确定要删除数据吗?", "提示", submit);
$.jBox.messager()
函数原型:
$.jBox.messager(content, title, timeout, options);
└ 或者 jBox.messager(content, title, timeout, options);
参数说明:
- content (string)
└ 只能是string,不支持前缀标识,默认值为''。
- title [可选] (string)
└ 窗口标题,值为null时为不显示标题,默认值为 $.jBox.messagerDefaults.title。
- timeout [可选] (number)
└ 显示多少毫秒后自动关闭,如果为0则不自动关闭,默认值为 $.jBox.messagerDefaults.timeout。
- options [可选] (json)
└ 其它参数选项,默认值为 $.jBox.messagerDefaults。
备注:如果想手动关闭messager,请调用 $.jBox.closeMessager() 方法。
示例(一):
$.jBox.messager('Hello jBox', 'jBox');
示例(二):
$.jBox.messager("Hello jBox 2", "my title", null, { width: 350, showType: 'fade' });
示例(三):
$.jBox.messager("Hello jBox 3", "my title", 3000, { width: 350, icon: 'info', showType: 'show', buttons: { '去看看': true }, submit: function (v, h, f) { $.jBox.info('看个蛋蛋?'); return true; } });
jBox 其它成员
全局设置:
$.jBox.defaults
$.jBox.stateDefaults
$.jBox.tipDefaults
$.jBox.messagerDefaults
$.jBox.languageDefaults
其它函数:
- $.jBox.setDefaults(configs);
└ 设置全局设置,请参考 demo.js 里的使用。
- $.jBox.getBox();
└ 获取最前面打开的窗口jQuery对象。
- $.jBox.getIframe(jBoxId);
└ 获取最前面打开的或指定ID的窗口里的 iframe jQuery对象。(方便与iframe的交互)
- $.jBox.getContent();
└ 获取最前面打开的窗口的内容html。
- $.jBox.setContent(content);
└ 设置最前面打开的窗口的内容html。
- $.jBox.getState(stateNmae);
└ 获取最前面打开的窗口可见状态内容。(content为多状态下)
- $.jBox.getStateName();
└ 获取最前面打开的窗口可见状态的名称。(content为多状态下)
- $.jBox.goToState(stateName, stateContent);
└ 显示最前面打开的窗口的指定状态,并可设置状态内容。(content为多状态下)
- $.jBox.nextState(stateContent);
└ 显示最前面打开的窗口的下一个状态,并可设置状态内容。(content为多状态下)
- $.jBox.prevState(stateContent);
└ 显示最前面打开的窗口的上一个状态,并可设置状态内容。(content为多状态下)
- $.jBox.close(token);
└ 关闭最前面打开的窗口,token可以是指定jBox的ID或布尔值,如果是true显示关闭所有已打开的窗口。
- $.jBox.closeTip();
└ 关闭提示(由 $.jBox.tip() 打开的)。
- $.jBox.closeMessager();
└ 关闭提示(由 $.jBox.messager() 打开的)。
示例(iframe):
// 调父窗口请用 parent 或 top,如果是多层iframe,需要调用多个parentvar html = "<div style='padding:10px;'>输入点什么:<input type='text' id='some' name='some' /></div>";var submit = function (v, h, f) { if (f.some == '') { // f.some 或 h.find('#some').val() 等于 top.$('#some').val() top.$.jBox.tip("请输入点什么。", 'error', { focusId: "some" }); // 关闭设置 some 为焦点 return false; } top.$.jBox.info("你输入了:" + f.some); return true; }; top.$.jBox(html, { title: "输入", submit: submit });
参考地址:http://www.jq22.com/yanshi3388
猜你喜欢
-
做一个微信小程序要多少钱?需要哪些流程?
开发一套小程序,价钱几万元到几十万不一,下列列举价目表: 第一种,套模版小程序-价钱较为低,一般好几千到一万特性是:一般必须按年收费标准。假如一些效果没法满足你,在模版基本上,再做订制开发就可以。相对于彻底订制开发而言,实际操作简易,便捷,价格便宜,开发时间较短,一个星期上下就可以发布。 第二种,选购源代码-价钱中等水平,一般两-三万上下。特性是:便捷,可以迅速发布;重要的便是你性有着了小程序源代码,不用按年交费。并且能够运用源代码,开发无数小程序,不用再次付款费用。但不一定可以购到适合的源代
-
怎么申请阿里云备案服务号
阿里云服务器都可以申请备案服务号,在你的云服务器管理里,具体: 1、登陆阿里云中心,点击右上角的“用户中心”,然后选择“快速申请备案服务号” 2、点击“申请” 3、点击“管理”并绑定对应的服务器即可
-
做一个网站大概要多少钱?
做一个网站的花费从好几百到好几千,过万的都是有,关键看自己对制作网站的需求。现阶段目前市面上制作网站注主要有三种方式。 一种是简易的模板建网站,价钱也就是几百块,缺点是模板是固定的,不可以再次设计,极大概率会跟别人一样。 二种是自助建站系统服务平台,现阶段这类方法比较时兴,技术性也很完善,发展趋势很多年了,绝大多数公司都会用。优势是价钱很便宜,也是以好几百到好几千不一,功能丰富,适用自定设计方案,作用升级完全免费,不用懂代码设计就可制作一个令人满意的好看网站。缺点是假如需求很尤其,不全考虑,绝大多数需
-
开发APP有什么好处?
第一,手机的用户群体庞大;据报告显示,传统的互联网主要依靠电脑,由于使用不方便,所以利用电脑进行信息交流的人群只有五亿左右,但是移动互联网依靠智能手机,手机的用户高达十亿! 第二,APP具有及时性;相比于电脑,员工使用移动端APP在处理一些企业工作事情上更加方便、更加快速,何时何地都能进行办公和了解信息。正是这种及时性,让移动互联网能得以飞速发展。 第三,APP的功能齐全且强大;网页因为自身的限制,功能比较少,对网络的要求比较高,而且加载网页的速度慢,真实情况下用户使用起来不方便。但是App开
-
企业做微信公众号的好处
现在如今,人手一微信的时代,企业拥有自己的微信公众号是成为自身实力的一种体现,微信公众号已成为移动互联网的趋势,平台化电子商务最缺的不是商家,而是消费者。 一、企业做微信公众号的好处 1、集中粉丝、合理精准的推送消息、精准定位、为企业的未来做打算; 2、为企业节省成本、可为用户推送视频、图文等各种形式的宣传信息,而且消息都是100%到达; 3、符合用户习惯、未来发展趋势:微信普及程度高,已有7亿用户,现在85.8%购买用户来源于手机端; 4、培养核心用户:用户方便、服务体验好
截屏,微信识别二维码
客服QQ:406784192