by Lokesh Dhakar 译: croc
查看原文
概要:
Lightbox JS 是一个简单而又谦恭的用来把图片覆盖在当前页面上的脚本. 它能被快速安装并且运作于所有流行的浏览器.
最新更新 Version 2.0
如何使用:
步骤 1 - 安装
1、Lightbox v2.0 使用 Prototype 框架和 Scriptaculous 效果库. 你将需要外调这三个 Javascript 文件在你的 header.
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
2、外调 Lightbox CSS 文件 (或添加 Lightbox 样式到你现行的样式表中).
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
3、检查 CSS 并确定调用的 prev.gif 和 next.gif 文件在正确的位置. 同样要确定调用的 loading.gif 和 close.gif 文件及 lightbox.js 文件在正确的位置.
步骤 2 - 激活
1、添加 rel="lightbox" 属性到任何一个链接标签去激活lightbox. 例如:
<a href="images/image-1.jpg" rel="lightbox" title="my caption">image #1</a>
可选择项: 使用 title 属性加上说明.
2、如果你有一套你想分组的相关图片, 接着上一部并且又在 rel 属性中添加一个带方括号的组名. 例如:
<a href="images/image-1.jpg" rel="lightbox[roadtrip]">image #1</a>
<a href="images/image-2.jpg" rel="lightbox[roadtrip]">image #2</a>
<a href="images/image-3.jpg" rel="lightbox[roadtrip]">image #3</a>
3、没有限定每个页面的图片组数量和每个图片组图片的数量. 疯了!
支持:
完全不工作. 图片在新窗口中打开. 出什么问题了?
这一般是由 JS 脚本的冲突导致的. 检查 body 标签并寻找 onload 属性. 例如:
<body οnlοad="MM_preloadImages(‘/images/menu_on.gif’)…;">
对这个问题的快速修正就是添加 initLightbox() 到 onload 属性, 如下:
<body οnlοad="MM_preloadImages(‘/images/menu_on.gif’)…;initLightbox()">
如果我在页面加载完之前点击图片, 它不工作.
脚本只有在页面完全加载完毕才能激活.
Flash 元素通过叠加出现.
参考 netasceta 的 评论.
有图像地图的话脚本不工作.
参考 Jason Buechler 的 评论.
背影不延伸并覆盖整个浏览器的窗口.
从 body 标签中删除默认的 margin 和 padding. 添加 body{ margin: 0; padding: 0; }
到你的样式表.
我能在说明中插入链接吗?
能, 但是你必须转换引号, 大于号和小于号到html的相等实体. 例如:
<a href="images/image-4.jpg" rel="lightbox" title="<a href="link.html">my link</a>">Image</a>
我能用此脚本展示 flash, 视频, 或其他内容吗?
并没有不在 box 的范围内, 但如果你有勇气尝试, 可以打开并修改代码来满足你的需求. 如果你能提供另一个选择的话, 你可以发送一个脚本到 Cody Lindley 的 ThickBox 专题中.
我能在商业项目中使用此脚本吗?
能. 此脚本在 Creative Commons Attribution 2.5 License 法律协议下. 能捐献一点给我的话更好, 暗示 暗示