jQuery lightBox plugin简介:
Lightbox应该是目前为止最流行的图片浏览插件。jQuery lightBox plugin是作者Leandro Vieira Pinho基于Lightbox2改编的jQuery插件。
功能列表:
- 自动根据窗口的大小缩放图片
- 模式窗口,幻灯片方式播放
- 图片内容预加载
- 渐变动画效果。
官网地址:
http://leandrovieira.com/projects/jquery/lightbox/
代码介绍:
1,巧妙利用jQuery选择器
使用jQuery lightBox plugin不需要更改你的HTML代码,仅把希望显示的一系列图片url设置在一系列对应的<a>标签的href链接中。利用jQuery选择器获得图片列表,图片列表调用lightBox方法。
$('#gallery a').lightBox();
2,图片列表信息保存在自定义二位数组settings.imageArray中
for ( var i = 0; i < jQueryMatchedObj.length; i++ ) {
settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));
}
这个数组将在预加载图时用到,来获取前后图片的src数据。
3,over-lay 【全屏半透明遮罩】
jQuery lightBox plugin的over-lay实现全页面大小的半透明遮罩,遗憾的是
/** THIRD FUNCTION
* getPageSize() by quirksmode.com
*
* @return Array Return an array with page width, height and window width, height
*/
function ___getPageSize()
引用的第三方计算页面尺寸的方法有bug,其二,由于浏览器兼容问题,firefox得到的页面宽度width和长度height都比实际大。
所以个人认为,实现全页面不如实现全屏幕半透明遮罩。 通过css的position:fixed定位功能使全屏幕半透明遮罩静止在屏幕上,即使拖动滚动条也不会动。修改lightBox css文件:
#jquery-overlay {
position: fixed;
top: 0;
left: 0;
z-index: 90;
width: 100%;
height: 500px;
}
由于万恶的IE6不支持position:fixed的属性,我们需要利用expression在CSS中写点针对IE6的东东:
/*IE6 fixed*/
* html #jquery-overlay {
*position: absolute;
*left: expression(documentElement.scrollLeft + documentElement.clientWidth - this.offsetWidth);
*top: expression(documentElement.scrollTop + documentElement.clientHeight - this.offsetHeight);
}
4,图片预加载技术
HTML DOM Image 对象代表嵌入的图像。<img> 标签每出现一次,一个 Image 对象就会被创建。src 属性可设置或返回图像的 URL。当把该属性设置为新图像的 URL 时,浏览器就会把那幅新图像装载并显示出来。
jQuery lightBox plugin使用图片预加载技术实现了两个功能:
- 提前获取即将加载图片的宽度和长度尺寸:
// Image preload process
var objImagePreloader = new Image();
objImagePreloader.onload = function() {
$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);
// Perfomance an effect in the image container resizing it
_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
// clear onLoad, IE behaves irratically with animated gifs otherwise
objImagePreloader.onload=function(){};
};
objImagePreloader.src = settings.imageArray[settings.activeImage][0];
首先,创建空的图片对象new Image();其次为图片对象src属性赋图片URL值,这样浏览器就开始加载被赋值URL对应的图片;最后,图片加载完毕之后调用onload事件句柄,获取图片尺寸。
2. 功能而在用户观看当前图片时,预先加载前后两边的图片,以此提高图片加载速度。
/**
* Preload prev and next images being showed
*
*/
function _preload_neighbor_images() {
if ( (settings.imageArray.length -1) > settings.activeImage ) {
objNext = new Image();
objNext.src = settings.imageArray[settings.activeImage + 1][0];
}
if ( settings.activeImage > 0 ) {
objPrev = new Image();
objPrev.src = settings.imageArray[settings.activeImage -1][0];
}
}
同样通过创建空图像对象赋值src方法预加载图像。
分享到:
相关推荐
jQuery lightbox plugin是一种广泛使用的JavaScript库,用于在网页上创建优雅的图片查看器效果,通常称为“lightbox”效果。这个插件允许用户在不离开当前页面的情况下查看大图,为浏览图片提供了一种沉浸式的体验。...
《jQuery Lightbox Plugin——打造极致图片查看体验》 在网页设计和开发中,为了提供优质的用户体验,图片查看功能显得尤为重要。jQuery Lightbox Plugin就是这样一款专为网页图片展示而设计的插件,它基于流行的...
jQuery Lightbox Plugin是一款广泛使用的JavaScript库,用于在网页上创建优雅的图片弹出窗口或“灯箱效果”。这个“图片盒子升级修正版”是原始jQuery Lightbox插件的一个改进版本,可能包含了修复的问题、增强的...
《jQuery Lightbox:一款强大的图片弹出框插件》 jQuery Lightbox是一款广泛使用的JavaScript库,专门用于在网页上创建优雅的、响应式的图片和媒体查看器。它以轻量级、可定制和用户友好而著称,是网页设计师和...
jQuery Lightbox是一款基于JavaScript库jQuery的轻量级弹出图库插件,它允许用户在网页上优雅地展示和浏览图片。Lightbox技术源于早期的Web设计,它通过在页面上创建一个半透明的背景层,将选定的图片放大并居中显示...
1. **美观的界面**:jQuery Lightbox2提供了一种优雅的方式来展示图像和媒体内容,它的设计风格简约而不失精致,能够为网站增添专业感。 2. **高度自定义**:用户可以通过CSS样式表轻松定制Lightbox的外观,以适应...
该压缩包“jQuery Lightbox插件实现图片放大预览特效源码.zip”中可能包含以下文件和目录: 1. `jquery.lightbox.js`:这是jQuery Lightbox插件的主要JavaScript文件,包含了所有必要的函数和逻辑,用于实现图片...
jQuery的Lightbox插件是一种流行的JavaScript库,用于在网页上创建弹出式的图像查看器。这个插件在用户点击一个图像链接时,会在当前页面上显示一个覆盖全屏的轻量级窗口,其中包含该图像以及其他相关的导航按钮,如...
总结来说,"响应速度快的jQuery Lightbox插件实现源码.zip"提供了一种高效的方法来在网页上展示媒体内容,通过解压并按照“使用须知.txt”中的指示操作,你可以快速集成并自定义这个插件,以适应你的网页设计需求。
- **初始化**:在网页加载完成后,使用jQuery选择器找到所有需要绑定Lightbox的图片链接。 - **数据处理**:将大图URL和其他相关信息(如标题)附加到原始图片元素的自定义属性中。 - **事件绑定**:为这些图片元素...
3. **初始化插件**:在文档加载完成后,调用jQuery Lightbox的初始化方法,如`$("a.lightbox").lightbox();` 4. **自定义设置**:根据需求,可以通过传递选项对象来调整Lightbox的行为,例如设置动画速度、遮罩颜色...
4. **初始化插件**:在页面加载完成后,使用jQuery的`$(document).ready()`方法来初始化Lightbox插件。 ```javascript $(document).ready(function() { $('a[rel="lightbox"]').lightBox(); }); ``` 5. **自定义...
这个"jQuery LightBox带放大镜的图片画廊特效源码"正是基于jQuery实现的,能够帮助开发者轻松创建具有放大镜功能的图片画廊,为用户带来更加直观和互动的浏览体验。 首先,jQuery LightBox的核心在于其轻量级和易于...
3. JavaScript调用:在文档加载完成后,使用jQuery选择器找到这些小图,并绑定Lightbox事件。例如,`$('a.lightbox').lightBox();` 4. 自定义设置:jQuery Lightbox提供了丰富的选项来调整其行为,如动画速度、键盘...
3. **初始化插件**:在文档加载完成后,使用jQuery的`$(document).ready()`函数来初始化Lightbox插件。这通常是通过调用`.lightbox()`方法实现的。 4. **配置选项**:jQuery Lightbox允许你自定义各种选项,如动画...
在使用jQuery Lightbox时,开发人员需要在页面中引入jQuery库和Lightbox的JavaScript及CSS文件,然后按照文档的指导配置选项和绑定事件。例如,可以使用以下代码片段来初始化Lightbox: ```html ...