对 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 相关文章推荐
用jquery方法操作radio使其默认选项是否
Sep 10 Javascript
javascript 函数声明与函数表达式的区别介绍
Oct 05 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
Dec 31 Javascript
JavaScript中使用Math.PI圆周率属性的方法
Jun 14 Javascript
JS判断当前页面是否在微信浏览器打开的方法
Dec 08 Javascript
AngularJS中过滤器的使用与自定义实例代码
Sep 17 Javascript
vue增删改查的简单操作
Jul 15 Javascript
微信小程序画布圆形进度条显示效果
Nov 17 Javascript
js+css实现红包雨效果
Jul 12 Javascript
js实现div色块碰撞
Jan 16 Javascript
JavaScript实现轮播图效果
Oct 30 Javascript
React Native项目框架搭建的一些心得体会
May 28 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邮件专题
2006/10/09 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
JavaScript学习笔记(十)
2010/01/17 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
微信小程序文字显示换行问题
2019/07/28 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python调用windows api锁定计算机示例
2014/04/17 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
彻底搞懂Python字符编码
2018/01/23 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android