对 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 相关文章推荐
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
js的alert弹出框出现乱码解决方案
Sep 02 Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
Dec 31 Javascript
JQuery实现的图文自动轮播效果插件
Jun 19 Javascript
jQuery grep()方法详解及实例代码
Oct 30 Javascript
通过一次报错详细谈谈Point事件
May 17 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
layer插件select选中默认值的方法
Aug 14 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
webpack优化之代码分割与公共代码提取详解
Nov 22 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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
SeaJS中use函数用法实例分析
2017/10/10 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
python里将list中元素依次向前移动一位
2014/09/12 Python
Numpy数组的保存与读取方法
2018/04/04 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
Django 路由控制的实现
2019/07/17 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
生产副总岗位职责
2013/11/28 职场文书
人事主管岗位职责
2014/01/30 职场文书
车贷收入证明范本
2014/09/14 职场文书
男方婚礼答谢词
2015/01/20 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
红色经典观后感
2015/06/18 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python
POST提交数据常见的四种方式
2022/01/18 HTML / CSS
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript