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入门基础知识学习指南
Aug 14 Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
Nov 21 Javascript
EasyUI学习之Combobox级联下拉列表(2)
Dec 29 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
基于bootstrap实现多个下拉框同时搜索功能
Jul 19 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
Feb 16 Javascript
Element-UI+Vue模式使用总结
Jan 02 Javascript
jquery选择器和属性对象的操作实例分析
Jan 10 jQuery
基于ajax及jQuery实现局部刷新过程解析
Sep 12 jQuery
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/01/04 PHP
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
柯基袜:Corgi Socks
2017/01/26 全球购物
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
软件测试笔试题
2012/10/25 面试题
自动化专业个人求职信范文
2013/12/30 职场文书
初三家长会邀请函
2014/01/18 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
小学校本培训方案
2014/06/06 职场文书
财务会计专业自荐书
2014/06/30 职场文书
车辆年检委托书范本
2014/10/14 职场文书
工程资料员岗位职责
2015/04/13 职场文书