对 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 相关文章推荐
MooTools 1.2介绍
Sep 14 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
Dec 26 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
Aug 07 Javascript
jquery遍历checkbox介绍
Feb 21 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
JavaScript中数据类型转换总结
Dec 25 Javascript
Javascript中字符串和数字的操作方法整理
Jan 22 Javascript
Mac系统下Webstorm快捷键整理大全
May 28 Javascript
Angular2学习教程之组件中的DOM操作详解
May 28 Javascript
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
ant-design表单处理和常用方法及自定义验证操作
Oct 27 Javascript
three.js 实现露珠滴落动画效果的示例代码
Mar 01 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读写文件的方法(生成HTML)
2006/11/27 PHP
火车头采集器3.0采集图文教程
2007/03/17 PHP
PHP备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
最通俗易懂的javascript变量提升详解
2017/08/05 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
python学习数据结构实例代码
2015/05/11 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
python中多个装饰器的执行顺序详解
2018/10/08 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
python实现批处理文件
2020/07/28 Python
python ssh 执行shell命令的示例
2020/09/29 Python
GE设备配件:GE Appliance Parts(家电零件、配件和滤水器)
2018/11/28 全球购物
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
交通事故协议书范本
2014/11/18 职场文书
2014年小学工作总结
2014/11/26 职场文书