对 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 相关文章推荐
xml 与javascript结合的问题解决方法
Mar 24 Javascript
javascript 特殊字符串
Feb 25 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
Apr 26 Javascript
多个jQuery版本共存的处理方案
Mar 17 Javascript
js中scrollTop()方法和scroll()方法用法示例
Oct 03 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
Node.js 使用递归实现遍历文件夹中所有文件
Sep 18 Javascript
jquery animate动画持续运动的实例
Nov 29 jQuery
Vue组件实现触底判断
Jun 26 Javascript
JavaScript常用8种数组去重代码实例
Sep 09 Javascript
详解vue身份认证管理和租户管理
May 25 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获取网页里所有图片并存入数组的方法
2015/04/06 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
ppk谈JavaScript style属性
2008/10/10 Javascript
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
js格式化时间小结
2014/11/03 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
Vue2.0 vue-source jsonp 跨域请求
2017/08/04 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
js实现车辆管理系统
2020/08/26 Javascript
python 文件与目录操作
2008/12/24 Python
python实现随机梯度下降(SGD)
2020/03/24 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
python根据文本生成词云图代码实例
2019/11/15 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
python asyncio 协程库的使用
2021/01/21 Python
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
毕业横幅标语
2014/10/08 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
2014年消防工作总结
2014/11/21 职场文书
小学数学国培研修日志
2015/11/13 职场文书
Python使用openpyxl模块处理Excel文件
2022/06/05 Python
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL