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中call和apply方法浅谈
Sep 27 Javascript
JavaScript学习笔记之内置对象
Jan 22 Javascript
js实现星星打分效果的方法
Jul 05 Javascript
JS时间特效最常用的三款
Aug 19 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
Feb 23 Javascript
Node.js编写组件的三种实现方式
Feb 25 Javascript
jQuery表单验证之密码确认
May 22 jQuery
静态页面实现 include 引入公用代码的示例
Sep 25 Javascript
简单实现jQuery弹窗效果
Oct 30 jQuery
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
在webstorm中配置less的方法详解
Sep 25 Javascript
微信小程序入门之指南针
Oct 22 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/04/28 PHP
PHP数组函数知识汇总
2016/05/12 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
决策树的python实现方法
2014/11/18 Python
python数组复制拷贝的实现方法
2015/06/09 Python
import的本质解析
2017/10/30 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
python isinstance函数用法详解
2020/02/13 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
英国在线花园中心:You Garden
2018/06/03 全球购物
运动会领导邀请函
2014/02/05 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
2015年女生节活动总结
2015/02/27 职场文书
志愿者个人总结
2015/03/03 职场文书
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript