GreyBox技术总结(转)

 更新时间:2010年11月23日 21:48:35   作者:  
GreyBox是一个遮罩层的组件也称模式窗口或模态窗口(所谓模态窗口,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的窗口),它运行以后可以产生不错的界面。
类似于thinkbox,lightbox等。用于以一种别致的模式对话框方式展示页面,图片或者其它内容。这是它的官网:http://orangoo.com/labs/GreyBox/

  我们先来看一下它的几个实例:

(1) 打开网页:

(2) 显示一组图片:

 

  基本使用

(1) 进入官网,点击下载

(2) 解压。(其中的 installation.html 对其使用进行了说明,很简单,一看就明白。我还是写一下步骤吧)

(3) 将其中的 greybox 文件夹拷贝到 web 项目根目录下,注意一定要放在 web 根目录下,放在其他目录或二级目下肯能不能使用,在我的工程里是这么部署的

  (顺便说下教训,一开始我将其放在了 js 文件夹下,因为我的 js 脚本都在里面放的,jQuery 也在,可就是不能用。。。最后放在了 根目录下就可以使用了。)

(4) 现在就可以使用了,我们用一个测试页来进行测试,代码如下:

复制代码 代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test.html</title>
<!-- GreyBox引用开始 -->
<script type="text/javascript">
var GB_ROOT_DIR = "./greybox/"; //注意这里的路径!!!
</script>
<script type="text/javascript" src="greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/gb_scripts.js"></script>
<link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- GreyBox引用结束 -->
</head>
<body>
<a href="http://www.baidu.com" title="百度" rel="gb_page[500, 500]">百度一下</a>
</body>
</html>

这样就完成了基本的使用。
  但是,在实际开发中,我们需要实现这样的效果:(1) 通过点击 button 来弹出模式窗口;(2) 关闭模式窗口后,刷新父窗口。
通过基本使用,我们可以看到官网的示例都是在点击一个超链接后弹出模态对话框。

等等。

但对于实际开发,我们有时需要实现通过点击 Button 来弹出一个模态对话框。其实,稍作修改就可以实现了,由于前篇文章已经对使用做了说明,这次就直接上代码了:

(1) 实现按钮点击弹出模态对话框

复制代码 代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test.html</title>
<!-- GreyBox引用开始 -->
<script type="text/javascript">
var GB_ROOT_DIR = "./greybox/"; //注意这里的路径!!!
</script>
<script type="text/javascript" src="greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/gb_scripts.js"></script>
<link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- GreyBox引用结束 -->
<script type="text/javascript">
//居中弹出模态窗口
function openWinCenter() {
//GB_showCenter(caption, url, /* optional */ height, width, callback_fn)
GB_showCenter("百度一下", "http://www.baidu.com", 600, 900);
}
//全屏弹出模态窗口
function openWinFull() {
//GB_showFullScreen(caption, url, callback_fn)
GB_showFullScreen("百度一下", "http://www.baidu.com");
}
</script>
</head>
<body>
<input type="button" value="居中弹出" onclick="openWinCenter()"><br/>
<input type="button" value="全屏弹出" onclick="openWinFull()"><br/>
</body>
</html>

具体用法可以看官方文档的“Advance Usage”部分。
(2) 开发过程中还会遇到这样的问题,在弹出窗口进行操作后,关闭时需要对父窗口进行刷新。怎么实现?
  我们先看一下普通的 js 是怎么写的
复制代码 代码如下:

<script language="javascript">
  
//弹出窗口
function openSubWin() {
window.open("","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100");
}
//关闭子窗口,刷新父窗口
function closeSubWin() {
window.opener.location = "http://www.baidu.com";
window.close();
}
</script>

那如果使用 GreyBox 怎么实现呢?上代码,【注意】这个 js 是在子窗口的网页中写的:
复制代码 代码如下:

<script type="text/javascript">
function close() {
parent.parent.location.reload();
parent.parent.GB_hide();
}
</script>

好了,至此就完成了对于 GreyBox 的学习,这些基本就可以满足我们日常的项目需要了。

相关文章

  • js实现简易购物车功能

    js实现简易购物车功能

    这篇文章主要为大家详细介绍了js实现简易购物车功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】

    ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】

    这篇文章主要介绍了ES6常用小技巧,结合实例形式总结分析了ES6常见的数组去重、交换变量、合并数组、字符串反转、数组迭代、数值计算等相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • js实现右下角可关闭最小化div(可用于展示推荐内容)

    js实现右下角可关闭最小化div(可用于展示推荐内容)

    使用Javascript实现右下角可关闭最小化div,可以用于展示推荐内容,完整源代码如下,感兴趣的各位可以参下哈,希望对大家有所帮助
    2013-06-06
  • Webpack完整打包流程深入分析

    Webpack完整打包流程深入分析

    webpack是一种前端资源构建工具,一个静态模块打包器(module bundler),下面这篇文章主要给大家介绍了关于Webpack完整打包流程的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • JS判断文本框内容改变事件的简单实例

    JS判断文本框内容改变事件的简单实例

    本篇文章主要是对JS判断文本框内容改变事件的简单实例进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03
  • 一文详细讲讲7种常见的前端攻击

    一文详细讲讲7种常见的前端攻击

    这篇文章主要给大家介绍了7种常见的前端攻击,包括跨站脚本(XSS)、依赖库风险、跨站请求伪造(CSRF)、点击劫持(Clickjacking)、内容交付网络(CDN)劫持、HTTPS降级和中间人攻击,每种攻击都有其攻击方式和防御措施,需要的朋友可以参考下
    2024-11-11
  • 微信小程序获取用户信息并保存登录状态详解

    微信小程序获取用户信息并保存登录状态详解

    这篇文章主要介绍了微信小程序获取用户信息并保存登录状态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • js 自带的sort() 方法全面了解

    js 自带的sort() 方法全面了解

    下面小编就为大家带来一篇js 自带的sort() 方法全面了解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • webpack-mvc 传统多页面组件化开发详解

    webpack-mvc 传统多页面组件化开发详解

    这篇文章主要介绍了webpack-mvc 传统多页面组件化开发详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • javascript实现获取字符串hash值

    javascript实现获取字符串hash值

    Hash 可以看作是一个 关联数组,它对每一个值都绑定了一个唯一的键(值并不必须是唯一的), 然而,它不能保证迭代时元素的顺序始终一致。因为 JavaScript 程序语言的特性,每个对象实际上都是一个 hash,下面我们就来详细探讨下。
    2015-05-05

最新评论