对 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中Eval函数的使用说明
Oct 11 Javascript
jquery $.ajax各个事件执行顺序
Oct 15 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
Feb 23 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
Jul 25 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
Jan 23 Javascript
jquery实现input框获取焦点的方法
Feb 06 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
angular内置provider之$compileProvider详解
Sep 27 Javascript
JS 实现百度搜索功能
Feb 01 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
Mar 14 Javascript
jQuery实现影院选座订座效果
Apr 13 jQuery
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 OPCode缓存 APC详细介绍
2010/10/12 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
CI框架中zip类应用示例
2014/06/17 PHP
PHP简单遍历对象示例
2016/09/28 PHP
JavaScript浏览器选项卡效果
2010/08/25 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
使用Python构建Hopfield网络的教程
2015/04/14 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
python global关键字的用法详解
2019/09/05 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
Python安装whl文件过程图解
2020/02/18 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
2020/08/07 Python
python绘制雷达图实例讲解
2021/01/03 Python
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
美国家具网站:Cymax
2016/09/17 全球购物
如何进行Linux分区优化
2016/09/13 面试题
节约电力资源的建议书
2014/03/12 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript