zoukankan      html  css  js  c++  java
  • 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"/>  
    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.      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", "百度一下", 800, 350, { 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, {  350, showType: 'fade' });  
      366.   
      367. 示例(三):   
      368.   
      369. $.jBox.messager("Hello jBox 3", "my title", 3000, {  
      370.      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 });  
  • 相关阅读:
    SharePoint 2010 At Work--SharePoint 2010 Tab Page 创建选项卡页面
    SharePoint At Work----Hyperlinks in the Data View Web Part
    SharePoint At Work----SharePoint Data View Web Part
    SharePoint 2010 品牌化和自定义--母版页
    面对复杂的或者高并发的或者海量数据的问题
    提升算力的程序设计
    关于方案,关于设计,关于思考
    关于测试
    数据资源管理程序的功能以及设计的总结
    如何做软件设计
  • 原文地址:https://www.cnblogs.com/JackZed/p/6874596.html
Copyright © 2011-2022 走看看