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:;与javascript:void(0)使用介绍
Jun 05 Javascript
jQuery之折叠面板的深入解析
Jun 19 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
实用又漂亮的BootstrapValidator表单验证插件
May 30 Javascript
详解JavaScript树结构
Jan 09 Javascript
老生常谈jacascript DOM节点获取
Apr 17 Javascript
vue按需引入element Transfer 穿梭框
Sep 30 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
Jul 21 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 Javascript
详解阿里Node.js技术文档之process模块学习指南
Jan 04 Javascript
react-native 实现购物车滑动删除效果的示例代码
Jan 15 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 ImageMagick windows下安装教程
2015/01/26 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
2007/06/29 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
详解Python中的__init__和__new__
2014/03/12 Python
Python打包可执行文件的方法详解
2016/09/19 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
python破解zip加密文件的方法
2018/05/31 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
python 动态调用函数实例解析
2019/10/21 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
财务工作个人求职的自我评价
2013/12/19 职场文书
老师自我鉴定范文
2013/12/25 职场文书
优秀求职信范文分享
2014/01/26 职场文书
2014年应急工作总结
2014/12/11 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
人身损害赔偿协议书
2016/03/22 职场文书
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL
Java设计模式中的命令模式
2022/04/28 Java/Android