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 相关文章推荐
JavaScript实现自己的DOM选择器原理及代码
Mar 04 Javascript
jquery基础教程之deferred对象使用方法
Jan 22 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 Javascript
js实现文字跟随鼠标移动而移动的方法
Feb 28 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
jQuery on()方法使用技巧详解
Apr 16 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
Sep 19 Javascript
浅谈node的事件机制
Oct 09 Javascript
JavaScript实现多个物体同时运动
Mar 12 Javascript
JS实现前端路由功能示例【原生路由】
May 29 Javascript
前端 javascript 实现文件下载的示例
Nov 24 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
基于文本的访客签到簿
2006/10/09 PHP
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python实现简单状态框架的方法
2015/03/19 Python
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
Django Admin实现上传图片校验功能
2016/03/06 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
深入理解Django-Signals信号量
2019/02/19 Python
简单分析python的类变量、实例变量
2019/08/23 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
Pycharm github配置实现过程图解
2020/10/13 Python
详解pandas映射与数据转换
2021/01/22 Python
CSS3实现淘宝留白的方法
2020/06/05 HTML / CSS
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
干部现实表现材料
2014/02/13 职场文书
软件毕业生个人鉴定
2014/03/03 职场文书
群教班子对照检查材料
2014/08/26 职场文书
办理护照工作证明
2014/10/10 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
辞职信标准格式
2015/02/27 职场文书
2015年售票员工作总结
2015/04/29 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python