GreyBox技术总结(转)


Posted in Javascript onNovember 23, 2010

类似于thinkbox,lightbox等。用于以一种别致的模式对话框方式展示页面,图片或者其它内容。这是它的官网:http://orangoo.com/labs/GreyBox/

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

(1) 打开网页:

GreyBox技术总结(转)

(2) 显示一组图片:

GreyBox技术总结(转)

 

基本使用

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

GreyBox技术总结(转)

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

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

GreyBox技术总结(转)

(顺便说下教训,一开始我将其放在了 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) 关闭模式窗口后,刷新父窗口。
通过基本使用,我们可以看到官网的示例都是在点击一个超链接后弹出模态对话框。

GreyBox技术总结(转)

GreyBox技术总结(转)

等等。

但对于实际开发,我们有时需要实现通过点击 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 的学习,这些基本就可以满足我们日常的项目需要了。
Javascript 相关文章推荐
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
Aug 13 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
Oct 24 Javascript
jQuery操作动态生成的内容的方法
May 28 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
Nov 26 Javascript
浅谈react.js 之 批量添加与删除功能
Apr 17 Javascript
vue2实现可复用的轮播图carousel组件详解
Nov 27 Javascript
vue项目中引入noVNC远程桌面的方法
Mar 05 Javascript
vue组件中的数据传递方法
May 14 Javascript
深入理解JavaScript 中的执行上下文和执行栈
Oct 23 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 Javascript
JavaScript 中的无穷数(Infinity)详解
Feb 13 Javascript
Js基础学习资料
Nov 23 #Javascript
JavaScript 程序编码规范
Nov 23 #Javascript
javascript整除实现代码
Nov 23 #Javascript
flexigrid 参数说明
Nov 23 #Javascript
js 判断checkbox是否选中的实现代码
Nov 23 #Javascript
js 处理URL实用技巧
Nov 23 #Javascript
两个Javascript小tip资料
Nov 23 #Javascript
You might like
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
yii添删改查实例
2015/11/16 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
jQuery UI插件自定义confirm确认框的方法
2015/03/20 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
node实现简单的反向代理服务器
2017/07/26 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
AngularJs分页插件使用详解
2018/06/30 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
想学python 这5本书籍你必看!
2018/12/11 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
进程的查看和调度分别使用什么命令
2013/12/14 面试题
幼儿园长自我鉴定
2013/10/17 职场文书
新郎新娘婚礼答谢词
2014/01/11 职场文书
文明单位创建材料
2014/12/24 职场文书
谢师宴邀请函
2015/02/02 职场文书
总经理年会致辞
2015/07/29 职场文书
赡养老人协议书范本
2015/08/06 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS