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

 更新时间:2010年03月20日 22:41:07   作者:  
如果要为图片添加详细的图片说明,并为图片的说明设置一些格式,如字体的大小、颜色等,那么使用 title 这个属性来设置这些说明信息是没办法实现的。
修改的 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>

相关文章

  • ES6中的类(Class)示例详解

    ES6中的类(Class)示例详解

    这篇文章主要给大家介绍了关于ES6中类(Class)的相关资料,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • canvas绘制环形进度条

    canvas绘制环形进度条

    本文主要介绍了canvas绘制环形进度条的示例代码,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 利用JS实现抢红包的三种算法

    利用JS实现抢红包的三种算法

    对于抢红包来说最重要的就是随机性算法,如何确保每个人获得金额是趋向于平均的,也就是有平均的概率去随机,而尽量避免两极分化,本文给大家介绍了用JS实现抢红包的三种算法,文中有相关的代码示例,需要的朋友可以参考下
    2024-03-03
  • uni-app微信小程序登录并使用vuex存储登录状态的思路详解

    uni-app微信小程序登录并使用vuex存储登录状态的思路详解

    这篇文章主要介绍了uni-app微信小程序登录并使用vuex存储登录态的思路,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • JS实现复选框的全选和批量删除功能

    JS实现复选框的全选和批量删除功能

    本文主要介绍了JS实现复选框的全选和批量删除功能的方法代码。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • javascript实现数据双向绑定的三种方式小结

    javascript实现数据双向绑定的三种方式小结

    本篇文章主要介绍了javascript实现数据双向绑定的三种方式小结,前端的视图层和数据层有时需要实现双向绑定,目前实现数据双向绑定主要有三种,有兴趣的可以了解一下。
    2017-03-03
  • 微信小程序获取手机验证码的方法

    微信小程序获取手机验证码的方法

    这篇文章主要为大家详细介绍了微信小程序获取手机验证码的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • ionic 自定义弹框效果

    ionic 自定义弹框效果

    这篇文章主要介绍了ionic 自定义弹框效果,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-06-06
  • 在JS循环中使用async/await的方法

    在JS循环中使用async/await的方法

    async / await是ES7的重要特性之一,也是目前社区里公认的优秀异步解决方案。这篇文章主要介绍了在JS循环中使用async/await的方法,需要的朋友可以参考下
    2018-10-10
  • 选择与取消选择不错的应用 js

    选择与取消选择不错的应用 js

    选择与取消选择不错的应用 js...
    2006-12-12

最新评论