对 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 Array(数组)相关方法简述
Jul 25 Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
Apr 01 Javascript
基于jquery的无刷新分页技术
Jun 11 Javascript
关于Javascript与iframe的那些事儿
Jul 04 Javascript
jquery自定义滚动条插件示例分享
Feb 21 Javascript
DOM基础教程之模型中的模型节点
Jan 19 Javascript
JQuery+EasyUI轻松实现步骤条效果
Feb 22 Javascript
JavaScript类的写法
Sep 17 Javascript
初探JavaScript 面向对象(推荐)
Sep 03 Javascript
vue生命周期实例小结
Aug 15 Javascript
Vue基础配置讲解
Nov 29 Javascript
uniapp,微信小程序中使用 MQTT的问题
Jul 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.ini中文版(2)
2006/10/09 PHP
实现PHP搜索加分页
2016/10/12 PHP
javascript中的几个运算符
2007/06/29 Javascript
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python利用前序和中序遍历结果重建二叉树的方法
2016/04/27 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
美国户外生活方式品牌:Eddie Bauer
2016/12/28 全球购物
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
高中生活自我鉴定
2014/01/18 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
仓库管理计划书
2014/05/04 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
职工培训工作总结
2015/08/10 职场文书