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的渐进增强与平稳退化浅谈
Nov 12 Javascript
javaScript如何处理从java后台返回的list
Apr 24 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 Javascript
jQuery中parents()和parent()的区别分析
Oct 28 Javascript
jQuery实现类似淘宝网图片放大效果的方法
Jul 08 Javascript
javascript实现禁止鼠标滚轮事件
Jul 24 Javascript
在JavaScript中如何解决用execCommand(
Oct 19 Javascript
Highcharts入门之基本属性
Aug 02 Javascript
jQuery特殊符号转义的实现
Nov 30 Javascript
JS中对数组元素进行增删改移的方法总结
Dec 15 Javascript
Angular JS 生成动态二维码的方法
Feb 23 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
Jun 04 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
Smarty安装配置方法
2008/04/10 PHP
PHP数组实例总结与说明
2011/08/23 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
js中生成map对象的方法
2014/01/09 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python访问抓取网页常用命令总结
2017/04/11 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
.NET程序员的数据库面试题
2012/10/10 面试题
早餐连锁店计划书
2014/01/08 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
Python 如何安装Selenium
2021/05/06 Python
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL