对 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 相关文章推荐
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
Jul 26 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
Sep 29 Javascript
jQuery1.6 使用方法二
Nov 23 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
一个JavaScript的求爱小特效
May 09 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
jQuery背景插件backstretch使用指南
Apr 21 Javascript
JS实现的页面自定义滚动条效果
Oct 26 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
深入理解Vue 组件之间传值
Aug 16 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 Javascript
JavaScript如何操作css
Oct 24 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
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
Smarty+QUICKFORM小小演示
2007/02/25 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
javascript实现的动态添加表单元素input,button等(appendChild)
2007/11/24 Javascript
js post提交调用方法
2014/02/12 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
python实现自动更换ip的方法
2015/05/05 Python
Python实现登录接口的示例代码
2017/07/21 Python
全面分析Python的优点和缺点
2018/02/07 Python
查看django版本的方法分享
2018/05/14 Python
python内存动态分配过程详解
2019/07/15 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
悬挂训练绳:TRX
2017/12/14 全球购物
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
交通事故私了协议书
2014/04/16 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
python爬虫selenium模块详解
2021/03/30 Python