JBox使用详解

插件说明
- jBox 是一款基于 jQuery 的多功能对话框插件,能够实现网站的整体风格效果,给用户一个新的视觉享受。
运行环境
- 兼容 IE6+、Firefox、Chrome、Safari、Opera 等主流浏览器。备注:IE不支持边框的圆角样式,不推荐大家使用蛋痛的IE浏览器。
使用授权
- jBox 永久免费使用,但是必须保留相关的版权信息。如果有好的建议,请Email: kudychen@gmail.com,jBox的完善需要大家的好建议。
使用方法
Java代码   收藏代码
  1. <script type="text/javascript" src="jBox/jquery-1.4.2.min.js"></script>  
  2.   <script type="text/javascript" src="jBox/jquery.jBox-2.3.min.js"></script>  
  3.   <script type="text/javascript" src="jBox/i18n/jquery.jBox-zh-CN.js"></script>  
  4.   
  5.   <link type="text/css" rel="stylesheet" href="jBox/Skins/皮肤文件夹/jbox.css"/>  
  6.   // 或  
  7.   <link type="text/css" rel="stylesheet" href="jBox/Skins2/皮肤文件夹/jbox.css"/>  
<script type="text/javascript" src="jBox/jquery-1.4.2.min.js"></script>
  <script type="text/javascript" src="jBox/jquery.jBox-2.3.min.js"></script>
  <script type="text/javascript" src="jBox/i18n/jquery.jBox-zh-CN.js"></script>

  <link type="text/css" rel="stylesheet" href="jBox/Skins/皮肤文件夹/jbox.css"/>
  // 或
  <link type="text/css" rel="stylesheet" href="jBox/Skins2/皮肤文件夹/jbox.css"/>

Java代码   收藏代码
  1. 函数原型:   
  2. $.jBox(content, options);   
  3.     └ 或者 jBox(content, options);   
  4. 参数说明:   
  5. - content (string,json)   
  6.    └ 可以是string或json。当是string时,需要加上前缀标识(html:、id:、get:、post:、iframe:),如果没有加标识,系统会自动加上html:,具体请看应用例子。当是json时,表示一个或多个状态,每个状态的默认值为 $.jBox.stateDefaults。   
  7. - options [可选] (json)   
  8.    └ 其它参数选项,默认值为 $.jBox.defaults。   
  9.   
  10. 备注:如果想手动关闭jBox(不包括下面的tip与messager,它们另有方法),请调用 $.jBox.close(token) 方法。   
  11.   
  12. 示例(一):   
  13.   
  14. // 此例省略了前缀html:,前缀标识是不区分大小写的,也可以是HTML:  
  15. var info = 'jQuery jBox<br /><br />版本:v2.0<br />日期:2011-7-24<br />';  
  16. info += '官网:<a target="_blank" href="http://kudystudio.com/jbox">http://kudystudio.com/jbox</a>';  
  17. $.jBox.info(info);  
  18.   
  19. 示例(二):   
  20.   
  21. // 显示id为id-html的div内部html,同时设置了bottomText  
  22. $.jBox('id:id-html', { bottomText: '这是底部文字' });  
  23. 这里是id为id-html的div内部html,同时设置了bottomText  
  24.   
  25. 示例(三):   
  26.   
  27. // ajax get 页面ajax.html的内容并显示,例如要提交id=1,则地址应该为 ajax.html?id=1,post:前缀的使用与get:的一样  
  28. $.jBox("get:ajax.html");  
  29.   
  30. 示例(四):   
  31.   
  32. // 用iframe显示http://www.baidu.com的内容,并设置了标题、宽与高、按钮  
  33. $.jBox("iframe:http://www.baidu.com", {  
  34.     title: "百度一下",  
  35.     width: 800,  
  36.     height: 350,  
  37.     buttons: { '关闭'true }  
  38. });  
  39.   
  40. 示例(五):   
  41.   
  42. var content = {  
  43.     state1: {  
  44.         content: '状态一',  
  45.         buttons: { '下一步'1'取消'0 },  
  46.         buttonsFocus: 0,  
  47.         submit: function (v, h, f) {  
  48.             if (v == 0) {  
  49.                 return true// close the window  
  50.             }  
  51.             else {  
  52.                 $.jBox.nextState(); //go forward  
  53.                 // 或 $.jBox.goToState('state2')  
  54.             }  
  55.             return false;  
  56.         }  
  57.     },  
  58.     state2: {  
  59.         content: '状态二,请关闭窗口哇:)',  
  60.         buttons: { '上一步'1'取消'0 },  
  61.         buttonsFocus: 0,  
  62.         submit: function (v, h, f) {  
  63.             if (v == 0) {  
  64.                 return true// close the window  
  65.             } else {  
  66.                 $.jBox.prevState() //go back  
  67.                 // 或 $.jBox.goToState('state1');  
  68.             }  
  69.   
  70.             return false;  
  71.         }  
  72.     }  
  73. };  
  74.   
  75. $.jBox(content);  
  76.   
  77. 示例(六):   
  78.   
  79. var html = "<div style='padding:10px;'>输入姓名:<input type='text' id='yourname' name='yourname' /></div>";  
  80. var submit = function (v, h, f) {  
  81.     if (f.yourname == '') {  
  82.         $.jBox.tip("请输入您的姓名。"'error', { focusId: "yourname" }); // 关闭设置 yourname 为焦点  
  83.         return false;  
  84.     }  
  85.   
  86.     $.jBox.tip("你叫:" + f.yourname);  
  87.     //$.jBox.tip("你叫:" + h.find("#yourname").val());  
  88.     //$.jBox.tip("你叫:" + h.find(":input[name='yourname']").val());  
  89.   
  90.     return true;  
  91. };  
  92.   
  93. $.jBox(html, { title: "你叫什么名字?", submit: submit });  
  94.  $.jBox.open()  
  95. 函数原型:   
  96. $.jBox.open(content, title, width, height, options);   
  97.     └ 或者 jBox.open(content, title, width, height, options);   
  98. 参数说明:   
  99. - content (string,json)   
  100.    └ 可以是string或json。当是string时,需要加上前缀标识(html:、id:、get:、post:、iframe:),如果没有加标识,系统会自动加上html:,具体请看应用例子。当是json时,表示一个或多个状态,每个状态的默认值为 $.jBox.stateDefaults。   
  101. - title [可选] (string)   
  102.    └ 窗口标题,值为null时为不显示标题,默认值为 $.jBox.defaults.title。   
  103. - width [可选] (string,number)   
  104.    └ 窗口宽度,值为'auto'或具体像素值(例如350),默认值为 $.jBox.defaults.width。   
  105. - height [可选] (string,number)   
  106.    └ 窗口高度,值为'auto'或具体像素值(例如100),默认值为 $.jBox.defaults.height。   
  107. - options [可选] (json)   
  108.    └ 其它参数选项,默认值为 $.jBox.defaults。   
  109.   
  110. 备注:$.jBox.open() 只是 $.jBox() 的一个扩展,方便 title、width、height 参数的传递。   
  111.   
  112. 示例(一):   
  113.   
  114. $.jBox.open("iframe:http://www.baidu.com""百度一下"800350, { buttons: { '关闭'true} });  
  115.   
  116. 示例(二): (content为Json对象,比较复杂一点的例子)   
  117.   
  118. var html1 = '<div class="msg-div">' +  
  119.             '<p>购买数量:</p><div class="field"><input type="text" id="amount" name="amount" value="1" /></div>' +  
  120.             '<p>收货地址:</p><div class="field"><textarea id="address" name="address"></textarea></div>' +  
  121.             '<div class="errorBlock" style="display: none;"></div>' +  
  122.             '</div>';  
  123.   
  124. var html2 = '<div class="msg-div">' +  
  125.             '<p>给卖家留言:</p><div class="field"><textarea id="message" name="message"></textarea></div>' +  
  126.             '</div>';  
  127.   
  128. var data = {};  
  129. var states = {};  
  130. states.state1 = {  
  131.     content: html1,  
  132.     buttons: { '下一步'1'取消'0 },  
  133.     submit: function (v, h, f) {  
  134.         if (v == 0) {  
  135.             return true// close the window  
  136.         }  
  137.         else {  
  138.             h.find('.errorBlock').hide('fast', function () { $(this).remove(); });  
  139.   
  140.             data.amount = f.amount; //或 h.find('#amount').val();  
  141.             if (data.amount == '' || parseInt(data.amount) < 1) {  
  142.                 $('<div class="errorBlock" style="display: none;">请输入购买数量!</div>').prependTo(h).show('fast');  
  143.                 return false;  
  144.             }  
  145.             data.address = f.address;  
  146.             if (data.address == '') {  
  147.                 $('<div class="errorBlock" style="display: none;">请输入收货地址!</div>').prependTo(h).show('fast');  
  148.                 return false;  
  149.             }  
  150.   
  151.             $.jBox.nextState(); //go forward  
  152.             // 或 $.jBox.goToState('state2')  
  153.         }  
  154.   
  155.         return false;  
  156.     }  
  157. };  
  158. states.state2 = {  
  159.     content: html2,  
  160.     buttons: { '上一步': -1'提交'1'取消'0 },  
  161.     buttonsFocus: 1// focus on the second button  
  162.     submit: function (v, o, f) {  
  163.         if (v == 0) {  
  164.             return true// close the window  
  165.         } else if (v == -1) {  
  166.             $.jBox.prevState() //go back  
  167.             // 或 $.jBox.goToState('state1');  
  168.         }  
  169.         else {  
  170.             data.message = f.message;  
  171.   
  172.             // do ajax request here  
  173.             $.jBox.nextState('<div class="msg-div">正在提交...</div>');  
  174.             // 或 $.jBox.goToState('state3', '<div class="msg-div">正在提交...</div>')  
  175.   
  176.             // asume that the ajax is done, than show the result  
  177.             var msg = [];  
  178.             msg.push('<div class="msg-div">');  
  179.             msg.push('<p>下面是提交的数据</p>');  
  180.             for (var p in data) {  
  181.                 msg.push('<p>' + p + ':' + data[p] + '</p>');  
  182.             }  
  183.             msg.push('</div>');  
  184.             window.setTimeout(function () { $.jBox.nextState(msg.join('')); }, 2000);  
  185.         }  
  186.   
  187.         return false;  
  188.     }  
  189. };  
  190. states.state3 = {  
  191.     content: '',  
  192.     buttons: {} // no buttons  
  193. };  
  194. states.state4 = {  
  195.     content: '',  
  196.     buttons: { '确定'0 }  
  197. };  
  198.   
  199. $.jBox.open(states, '提交订单'450'auto');  
  200.  $.jBox.prompt()  
  201. 函数原型:   
  202. $.jBox.prompt(content, title, icon, options);   
  203.     └ 或者 jBox.prompt(content, title, icon, options);   
  204. 参数说明:   
  205. - content (string)   
  206.    └ 只能是string,不支持前缀标识,默认值为''。   
  207. - title [可选] (string)   
  208.    └ 窗口标题,值为null时为不显示标题,默认值为 $.jBox.defaults.title。   
  209. - icon [可选] (string)   
  210.    └ 内容图标,值为'none'时为不显示图标,可选值有'none''info''question''success''warning''error',默认值为'none'。   
  211. - options [可选] (json)   
  212.    └ 其它参数选项,默认值为 $.jBox.defaults。   
  213.   
  214. 备注:以下几个方法由 $.jBox.prompt() 扩展而来,参数类似,请看下面的例子。   
  215. $.jBox.alert(content, title, options);   
  216.     └ 或者 jBox.alert(content, title, options);   
  217. $.jBox.info(content, title, options);   
  218.     └ 或者 jBox.info(content, title, options);   
  219. $.jBox.success(content, title, options);   
  220.     └ 或者 jBox.success(content, title, options);   
  221. $.jBox.error(content, title, options);   
  222.     └ 或者 jBox.error(content, title, options);   
  223. $.jBox.confirm(content, title, submit, options);   
  224.     └ 或者 jBox.confirm(content, title, submit, options);   
  225. $.jBox.warning(content, title, submit, options);   
  226.     └ 或者 jBox.warning(content, title, submit, options);   
  227.     └ 上面方法中默认按钮的文字设置在 $.jBox.languageDefaults   
  228.   
  229. 示例(一):   
  230.   
  231. //加了个其它参数closed  
  232. $.jBox.prompt('Hello jBox''jBox''info', { closed: function () { alert('prompt is closed.'); } });  
  233.   
  234. 示例(二):   
  235.   
  236. $.jBox.alert('Hello jBox''jBox');  
  237.   
  238. 示例(三):   
  239.   
  240. $.jBox.info('Hello jBox''jBox');  
  241.   
  242. 示例(四):   
  243.   
  244. $.jBox.success('Hello jBox''jBox');  
  245.   
  246. 示例(五):   
  247.   
  248. $.jBox.error('Hello jBox''jBox');  
  249.   
  250. 示例(六):   
  251.   
  252. var submit = function (v, h, f) {  
  253.     if (v == 'ok')  
  254.         jBox.tip(v, 'info');  
  255.     else if (v == 'cancel')  
  256.         jBox.tip(v, 'info');  
  257.   
  258.     return true//close  
  259. };  
  260.   
  261. $.jBox.confirm("确定吗?""提示", submit);  
  262.   
  263. 示例(六02):   
  264.   
  265. var submit = function (v, h, f) {  
  266.     if (v == true)  
  267.         jBox.tip("恩"'info');  
  268.     else  
  269.         jBox.tip("好吖"'info');  
  270.   
  271.     return true;  
  272. };  
  273. // 自定义按钮  
  274. $.jBox.confirm("天使,做我女朋友吧?""表白提示", submit, { buttons: { '恩'true'好吖'false} });  
  275.   
  276. 示例(七):   
  277.   
  278. var submit = function (v, h, f) {  
  279.     if (v == 'yes') {  
  280.         $.jBox.tip('已保存。''success');  
  281.     }  
  282.     if (v == 'no') {  
  283.         $.jBox.tip('没保存。');  
  284.     }  
  285.     if (v == 'cancel') {  
  286.         $.jBox.tip('已取消。');  
  287.     }  
  288.   
  289.     return true;  
  290. };  
  291. // 可根据需求仿上例子定义按钮  
  292. $.jBox.warning("内容已修改,是否保存?""提示", submit);  
  293.  $.jBox.tip()  
  294. 函数原型:   
  295. $.jBox.tip(content, icon, options);   
  296.     └ 或者 jBox.tip(content, icon, options);   
  297. 参数说明:   
  298. - content (string)   
  299.    └ 只能是string,不支持前缀标识,默认值为''。   
  300. - icon [可选] (string)   
  301.    └ 内容图标,可选值有'info''success''warning''error''loading',默认值为'info',当为'loading'时,timeout值会被设置为0,表示不会自动关闭。   
  302. - options [可选] (json)   
  303.    └ 其它参数选项,默认值为 $.jBox.tipDefaults。   
  304.   
  305. 备注:如果想手动关闭tip,请调用 $.jBox.closeTip() 方法。   
  306.   
  307. 示例(一):   
  308.   
  309. $.jBox.tip('Hello jBox');  
  310.   
  311. 示例(二):   
  312.   
  313. //加了个其它参数focusId  
  314. $.jBox.tip('关闭后设置输入框为焦点''info', { focusId: 'tip-input' });  
  315. 输入框:   
  316. 示例(三):   
  317.   
  318. //加了个其它参数closed  
  319. $.jBox.tip('关闭后设置输入框为已选择''error', { closed: function () { $('#tip-input2').select(); } });  
  320. 输入框:   
  321. 示例(四):   
  322.   
  323. $.jBox.tip("正在XX,你懂的..."'loading');  
  324. // 模拟2秒后完成操作  
  325. window.setTimeout(function () { $.jBox.tip('XX已完成。''success'); }, 2000);  
  326.   
  327. 示例(五):   
  328.   
  329. var submit = function (v, h, f) {  
  330.     if (v == 'ok') {  
  331.         $.jBox.tip("正在删除数据..."'loading');  
  332.         // 模拟2秒后完成操作  
  333.         window.setTimeout(function () { $.jBox.tip('删除成功。''success'); }, 2000);  
  334.     }  
  335.     else if (v == 'cancel') {  
  336.         // 取消  
  337.     }  
  338.   
  339.     return true//close  
  340. };  
  341.   
  342. $.jBox.confirm("确定要删除数据吗?""提示", submit);  
  343.  $.jBox.messager()  
  344. 函数原型:   
  345. $.jBox.messager(content, title, timeout, options);   
  346.     └ 或者 jBox.messager(content, title, timeout, options);   
  347. 参数说明:   
  348. - content (string)   
  349.    └ 只能是string,不支持前缀标识,默认值为''。   
  350. - title [可选] (string)   
  351.    └ 窗口标题,值为null时为不显示标题,默认值为 $.jBox.messagerDefaults.title。   
  352. - timeout [可选] (number)   
  353.    └ 显示多少毫秒后自动关闭,如果为0则不自动关闭,默认值为 $.jBox.messagerDefaults.timeout。   
  354. - options [可选] (json)   
  355.    └ 其它参数选项,默认值为 $.jBox.messagerDefaults。   
  356.   
  357. 备注:如果想手动关闭messager,请调用 $.jBox.closeMessager() 方法。   
  358.   
  359. 示例(一):   
  360.   
  361. $.jBox.messager('Hello jBox''jBox');  
  362.   
  363. 示例(二):   
  364.   
  365. $.jBox.messager("Hello jBox 2""my title"null, { width: 350, showType: 'fade' });  
  366.   
  367. 示例(三):   
  368.   
  369. $.jBox.messager("Hello jBox 3""my title"3000, {  
  370.     width: 350,  
  371.     icon: 'info',  
  372.     showType: 'show',  
  373.     buttons: { '去看看'true },  
  374.     submit: function (v, h, f) {  
  375.         $.jBox.info('看个蛋蛋?');  
  376.         return true;  
  377.     }  
  378. });  
  379.  jBox 其它成员  
  380. 全局设置:   
  381. $.jBox.defaults   
  382. $.jBox.stateDefaults   
  383. $.jBox.tipDefaults   
  384. $.jBox.messagerDefaults   
  385. $.jBox.languageDefaults   
  386. 其它函数:   
  387. - $.jBox.setDefaults(configs);   
  388.    └ 设置全局设置,请参考 demo.js 里的使用。   
  389. - $.jBox.getBox();   
  390.    └ 获取最前面打开的窗口jQuery对象。   
  391. - $.jBox.getIframe(jBoxId);   
  392.    └ 获取最前面打开的或指定ID的窗口里的 iframe jQuery对象。(方便与iframe的交互)   
  393. - $.jBox.getContent();   
  394.    └ 获取最前面打开的窗口的内容html。   
  395. - $.jBox.setContent(content);   
  396.    └ 设置最前面打开的窗口的内容html。   
  397. - $.jBox.getState(stateNmae);   
  398.    └ 获取最前面打开的窗口可见状态内容。(content为多状态下)   
  399. - $.jBox.getStateName();   
  400.    └ 获取最前面打开的窗口可见状态的名称。(content为多状态下)   
  401. - $.jBox.goToState(stateName, stateContent);   
  402.    └ 显示最前面打开的窗口的指定状态,并可设置状态内容。(content为多状态下)   
  403. - $.jBox.nextState(stateContent);   
  404.    └ 显示最前面打开的窗口的下一个状态,并可设置状态内容。(content为多状态下)   
  405. - $.jBox.prevState(stateContent);   
  406.    └ 显示最前面打开的窗口的上一个状态,并可设置状态内容。(content为多状态下)   
  407. - $.jBox.close(token);   
  408.    └ 关闭最前面打开的窗口,token可以是指定jBox的ID或布尔值,如果是true显示关闭所有已打开的窗口。   
  409. - $.jBox.closeTip();   
  410.    └ 关闭提示(由 $.jBox.tip() 打开的)。   
  411. - $.jBox.closeMessager();   
  412.    └ 关闭提示(由 $.jBox.messager() 打开的)。   
  413.   
  414. 示例(iframe):   
  415.   
  416. // 调父窗口请用 parent 或 top,如果是多层iframe,需要调用多个parent  
  417. var html = "<div style='padding:10px;'>输入点什么:<input type='text' id='some' name='some' /></div>";  
  418. var submit = function (v, h, f) {  
  419.     if (f.some == '') {  
  420.         // f.some 或 h.find('#some').val() 等于 top.$('#some').val()  
  421.         top.$.jBox.tip("请输入点什么。"'error', { focusId: "some" }); // 关闭设置 some 为焦点  
  422.         return false;  
  423.     }  
  424.     top.$.jBox.info("你输入了:" + f.some);  
  425.   
  426.     return true;  
  427. };  
  428.   
  429. top.$.jBox(html, { title: "输入", submit: submit });  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值