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 css在IE和Firefox中区别分析
Feb 18 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
Jun 20 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
Nov 13 Javascript
jquery validate poshytip 自定义样式
Nov 26 Javascript
javascript打印输出json实例
Nov 11 Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
Jul 05 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
基于Vue中点击组件外关闭组件的实现方法
Mar 06 Javascript
微信小程序前端自定义分享的实现方法
Jun 13 Javascript
Vue 用Vant实现时间选择器的示例代码
Oct 25 Javascript
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
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教程 预定义变量
2009/10/23 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
PHP7变量处理机制修改
2021/03/09 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
即将毕业大学生自荐信
2014/01/24 职场文书
党的群众路线调研报告
2014/11/03 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers