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 相关文章推荐
jquery入门—数据删除与隔行变色以及图片预览
Jan 07 Javascript
js正则表达式中test,exec,match方法的区别说明
Jan 29 Javascript
js中把JSON字符串转换成JSON对象最好的方法
Mar 21 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 Javascript
js判断数组key是否存在(不用循环)的简单实例
Aug 03 Javascript
AngularJs  Creating Services详解及示例代码
Sep 02 Javascript
jquery select2的使用心得(推荐)
Dec 04 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
Jan 16 Javascript
微信小程序使用二次贝塞尔曲线画波浪
Dec 25 Javascript
Vue实现点击当前行变色
Dec 14 Vue.js
原生js实现放大镜组件
Jan 22 Javascript
JavaScript实现页面动态验证码的实现示例
Mar 23 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计算数组不为空元素个数的方法
2014/01/27 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
javascript prototype 原型链
2009/03/12 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
每天一篇javascript学习小结(RegExp对象)
2015/11/17 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
python日期相关操作实例小结
2019/06/24 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
super关键字的用法
2012/04/10 面试题
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
优秀企业获奖感言
2014/02/01 职场文书
新手上路标语
2014/06/20 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
教师自荐信范文
2015/03/06 职场文书
审美与表现自我评价
2015/03/09 职场文书
司机岗位职责范本
2015/04/10 职场文书
鉴史问廉观后感
2015/06/10 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python