对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明

  修改的 lightbox 版本是 2.04 版。

  下面是使用我们在使用 lightbox 来显示图片时的基本设置:

  复制代码 代码如下:

  

  content

  

  主要是给连接加了一个 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 这样设置图片说明了:

  复制代码 代码如下:

  

  

  content