对 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 相关文章推荐
JScript中的&quot;this&quot;关键字使用方式补充材料
Mar 08 Javascript
javascript多种数据类型表格排序代码分析
Sep 11 Javascript
js调用AJAX时Get和post的乱码解决方法
Jun 04 Javascript
JavaScript中prototype为对象添加属性的误区介绍
Oct 15 Javascript
探讨jQuery的ajax使用场景(c#)
Dec 03 Javascript
php析构函数的具体用法小结
Mar 11 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
Jun 16 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
Jan 05 Javascript
Angular2 Service实现简单音乐播放器服务
Feb 24 Javascript
vue-router history模式下的微信分享小结
Jul 05 Javascript
JS函数基本定义与用法示例
Jan 15 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
Sep 02 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求小于1000的所有水仙花数的代码
2012/01/10 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
简单实现js浮动框
2016/12/13 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
layui.js实现的表单验证功能示例
2017/11/15 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
Python字符串逆序输出的实例讲解
2019/02/16 Python
python实现手机销售管理系统
2019/03/19 Python
python实现控制COM口的示例
2019/07/03 Python
Flask配置Cors跨域的实现
2019/07/12 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
党校培训思想汇报
2013/12/30 职场文书
融资合作协议书范本
2014/10/17 职场文书
自主招生英文自荐信
2015/03/25 职场文书
办公室管理规章制度
2015/08/04 职场文书
2019通用版导游词范本!
2019/08/07 职场文书