`

JBox使用详解

    博客分类:
  • JBox
阅读更多
插件说明
- jBox 是一款基于 jQuery 的多功能对话框插件,能够实现网站的整体风格效果,给用户一个新的视觉享受。
运行环境
- 兼容 IE6+、Firefox、Chrome、Safari、Opera 等主流浏览器。备注:IE不支持边框的圆角样式,不推荐大家使用蛋痛的IE浏览器。
使用授权
- jBox 永久免费使用,但是必须保留相关的版权信息。如果有好的建议,请Email: kudychen@gmail.com,jBox的完善需要大家的好建议。
使用方法
<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"/>

函数原型: 
$.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: '这是底部文字' });
这里是id为id-html的div内部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,需要调用多个parent
var 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.kudystudio.com/jbox/jbox-demo.html 这个页面更详细,而且还可以演示
分享到:
评论

相关推荐

    JBox2d详解-目前网上最全

    JBox2d详解-目前网上最全,讲解了java平台下游戏物理引擎的使用

    box2d中文教程和Jbox2d详解

    通过这个中文教程和JBox2D详解,你可以逐步掌握2D物理引擎的使用,无论是初学者还是有一定经验的开发者,都能从中获得宝贵的知识,提升游戏开发的能力。记得实践是检验真理的唯一标准,动手尝试并不断调试,才能真正...

    JBox2D详解

    由于JBox2D的图形渲染使用的是Processing库,因此在Android平台上使用JBox2D时,图形渲染工作只能自行开发。该引擎能够根据开发人员设定的参数,如重力、密度、摩擦系数和弹性系数等,自动地进行2D刚体物理运动的全...

    jbox源码解析

    7. **jbox2d-testbed**: 测试床或者示例项目,包含了一系列的示例场景,用于演示JBox2D的功能,帮助开发者理解和学习如何使用JBox2D来创建物理效果。 8. **README.txt**: 项目的基本说明文件,通常包含项目简介、...

    JBox2D中文详解和范例(目前网上最全).doc

    《JBox2D中文详解和范例》是目前网络上最详尽的关于JBox2D的资源,它深入浅出地介绍了这个2D物理引擎的关键概念和实用示例。JBox2D是一个基于Java语言的开源物理模拟库,它是Box2D的Java版本,而Box2D则是由Ernesto ...

    java版JBox2D文档详解.doc

    该案例展示了如何使用JBox2D创建一个动态场景:一个球体下落并撞击由多个木块组成的金字塔。它涵盖了以下几个关键部分: **10.3.1 案例运行效果** 演示了球体下落、碰撞和反弹的真实物理效果,同时木块受到撞击后会...

    jBox弹窗提示框插件 多种效果.zip

    **jQuery jBox插件详解** 在网页开发中,与用户进行交互是至关重要的,而弹窗提示框就是这种交互的一种常见形式。jBox是一款基于jQuery的弹窗插件,它提供了丰富的功能和多种效果,使得开发者能够快速创建出美观且...

    jquery 弹出框jbox文件

    《jQuery弹出框插件——JBox详解及应用》 在网页开发中,为了提供更好的用户体验,我们常常需要使用弹出框来展示信息或者进行交互操作。jQuery作为一款广泛使用的JavaScript库,拥有丰富的插件资源,其中JBox是一款...

    jBox弹窗提示框插件 多种效果

    **jBox弹窗提示框插件 - 多种效果详解** 在网页开发中,提示框是一种常见的用户交互元素,用于显示信息、警告、确认或询问等。jBox是一款基于jQuery的弹窗提示框插件,它提供了丰富的功能和多种效果,以满足不同...

    jBox2d官方资料

    《JBox2d官方资料详解》 JBox2d是一个基于Java实现的开源物理引擎,它主要用于游戏开发和模拟真实世界的物理现象。该引擎是Box2D物理引擎的一个移植版本,Box2D由Erin Catto开发,广泛应用于C++环境下的2D游戏开发...

    jbox弹出窗口

    **JBox弹出窗口详解** JBox是一款基于JavaScript的弹出窗口插件,它提供了丰富的功能和自定义选项,能够帮助开发者轻松实现各种类型的弹窗效果,如提示、确认、选择、加载等。JBox的核心特性包括其轻量级、高度可...

    JBox最新演示Demo

    《JBox最新演示Demo详解及应用》 JBox是一款基于JavaScript的多功能弹出框插件,它在网页开发中扮演着重要角色,尤其在需要创建警告框、对话框或者自定义窗口时,JBox表现得尤为出色。"JBox最新演示Demo"提供了最新...

    jbox 兼容jQuery1.9以上版本,解决弹出框位置错误问题

    《jbox:兼容jQuery1.9及以上版本,解决弹出框定位问题详解》 在Web开发中,弹出框作为一种常见的交互元素,被广泛应用于提示、确认、输入等场景。jBox是一款基于jQuery的弹出框插件,以其灵活性和易用性受到开发者...

    jbox2d-testbed游戏引擎

    **jBox2D-Testbed 游戏引擎详解** **一、jBox2D简介** jBox2D是一个基于Java实现的2D物理模拟库,它是Box2D的一个开源Java版本。Box2D是由Ernest Pazera开发的,最初是为C++设计的,而jBox2D则是由Ivan Enderlin...

    jBox弹出窗

    **jBox弹出窗详解** 在网页开发中,弹出窗是一种常见的交互设计元素,用于显示消息、警告、确认对话框或提供用户操作界面。jBox是一款基于JavaScript和jQuery库的弹出窗插件,它提供了高度可定制的选项和丰富的功能...

    jquery.jBox-2.3.min.js.zip

    《jQuery插件jBox详解与应用实践》 在Web开发领域,jQuery库因其简洁的API和强大的功能,已经成为开发者们的首选。今天我们将深入探讨一款基于jQuery的弹出框插件——jBox。本文将详细介绍jBox 2.3.min.js的最新...

    JBox2D最新版

    **JBox2D最新版详解** JBox2D是一个基于Java语言实现的2D物理引擎,它是Box2D物理引擎的Java版本。Box2D是由Erin Catto开发的,被广泛应用于2D游戏开发,提供了真实的物理模拟,如重力、碰撞检测、摩擦力等。JBox2D...

    jbox_2.3-min

    **jBox - 多功能jQuery对话框插件详解** `jBox`是一款高效且功能丰富的jQuery插件,专为创建各种对话框而设计。这款插件以其灵活性和自定义性著称,使得开发者能够轻松地在网站上实现各种类型的提示、警告、信息...

Global site tag (gtag.js) - Google Analytics