對 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>
下面是使用我們在使用 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>
相關文章
JS控件autocomplete 0.11演示及下載 1月5日已更新
JS控件autocomplete 0.11演示及下載 1月5日已更新...2007-01-01bootstrap 日期控件 datepicker被彈出框dialog覆蓋的解決辦法
這篇文章主要介紹了bootstrap 日期控件 datepicker被彈出框dialog覆蓋的解決辦法 ,本文給大家分享幾種解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07