对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明


Posted in Javascript onMarch 20, 2010

修改的 lightbox 版本是 2.04 版。
下面是使用我们在使用 lightbox 来显示图片时的基本设置:

<a href="image-url" rel="lightbox" title="image-remark"> 
content 
</a>

主要是给连接加了一个 rel="lightbox" 属性
以上面的试设置好连接时, 当点击此连接,lightbox 将会显示连接上的图片,并使用连接的 title 属性作为图片的说明,如果要为图片添加详细的图片说明,并为图片的说明设置一些格式,如字体的大小、颜色等,那么使用 title 这个属性来设置这些说明信息是没办法实现的。
由于客户一定要此功能,所以只好去查看 lightbox 的源代码,检查是否可以对其进行改造,以满足这个需要,幸运的是 lightbox 主要的代码量不是很大,而且可以对其进行一个小小的修改,就可以满足这个需要,主要是对 prototype.js 这个JS 框架不太熟悉。
以下是修改的过程 :
打开 lightbox.js 文件,原 218 行的代码为:
this.imageArray.push([imageLink.href, imageLink.title]);
可以看到这里是直接读取连接对象的 title 属性,所以我们只需要把 imageLink.title 改一下就可以了:
this.imageArray.push([imageLink.href, document.getElementById(imageLink.contentId).innerHTML]);

把 imageLink.title 改成了 document.getElementById(imageLink.contentId).innerHTML 了;
从这一句可以看出来,我们需要为连接对象设置一个 contentId 属性,这个属性的值是某个 DOM 元素的 ID 号,图片的说明就是此元素的内容了。
修改完之后就可以在 HTML 这样设置图片说明了:

<a href="image-url" rel="lightbox" contentId="imgDesc" title="image"> 
<div id="imgDesc" style="display:none">description</div> 

content 
</a>
Javascript 相关文章推荐
javascript 模拟点击广告
Jan 02 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
Apr 16 Javascript
jquery中get和post的简单实例
Feb 04 Javascript
JavaScript数组前面插入元素的方法
Apr 06 Javascript
基于jQuery实现二级下拉菜单效果
Feb 01 Javascript
基于node实现websocket协议
Apr 25 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 Javascript
简单分析js中的this的原理
Aug 31 Javascript
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
Dec 22 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 Javascript
vue接通后端api以及部署到服务器操作
Aug 13 Javascript
Vue3 响应式侦听与计算的实现
Nov 11 Javascript
js 强制弹出窗口代码研究-又一款代码
Mar 20 #Javascript
js 数组克隆方法 小结
Mar 20 #Javascript
vs2003 js文件编码问题的解决方法
Mar 20 #Javascript
Jquery AutoComplete自动完成 的使用方法实例
Mar 19 #Javascript
JavaScript 对象的属性和方法4种不同的类型
Mar 19 #Javascript
jQuery 前的按键判断代码
Mar 19 #Javascript
Javascript 匿名函数及其代码模式原理
Mar 19 #Javascript
You might like
php全局变量和类配合使用深刻理解
2013/06/05 PHP
php实现paypal 授权登录
2015/05/28 PHP
php bootstrap实现简单登录
2016/03/08 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
php之可变函数的实例详解
2017/09/13 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
javascript每日必学之继承
2016/02/23 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
python 运用Django 开发后台接口的实例
2018/12/11 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
体育专业个人的求职信范文
2013/09/21 职场文书
医院总经理职责
2013/12/26 职场文书
采购部经理岗位职责
2014/02/10 职场文书
大学生工作自荐书
2014/06/16 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
企业党员个人自我评价
2014/09/20 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
追讨欠款律师函
2015/05/27 职场文书
早安问候语大全
2015/11/10 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
我的收音机情缘
2022/04/05 无线电