对 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记录文本框内文字个数检测文字个数变化
Oct 14 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
Mar 03 Javascript
JQuery实现动态适时改变字体颜色的方法
Mar 10 Javascript
AngularJS基础学习笔记之控制器
May 10 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
BootStrap的table表头固定tbody滚动的实例代码
Aug 24 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
jQuery+HTML5实现弹出创意搜索框层
Dec 29 Javascript
angular或者js怎么确定选中ul中的哪几个li
Aug 16 Javascript
JavaScript实现多态和继承的封装操作示例
Aug 20 Javascript
js实现简单的点名器随机色实例代码
Sep 20 Javascript
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 Vue.js
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的autoload自动加载机制使用说明
2010/12/28 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
layerUI下的绑定事件实例代码
2018/08/17 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
python中类的一些方法分析
2014/09/25 Python
python实现得到一个给定类的虚函数
2014/09/28 Python
Python实现上下班抢个顺风单脚本
2018/02/07 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
基于Python fminunc 的替代方法
2020/02/29 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
印度网上药店:1mg
2017/10/13 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
数学国培研修感言
2014/02/13 职场文书
财务会计自荐信范文
2014/02/21 职场文书
元旦晚会感言
2014/03/12 职场文书
创先争优承诺书
2015/01/20 职场文书
网络销售员岗位职责
2015/04/11 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
CSS完成视差滚动效果
2021/04/27 HTML / CSS