这是我在网上下载的一个案例,由于公司的项目要用到,我对他进行了改版。
虽然是一个别人写的案例,但是我公司没有人能对它修改成需要的样式,我既然研究出来了,就在这里分享下我的心得!
这里我把我理解的内容给大家解释下,希望用的时候可以方便的。
这段代码的结构是一个ul无序列表:
<ul>
<li>
<a href="photos/image1.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery').lightBox();">
<img src="photos/thumb_image1.jpg" width="72" height="72" alt="" />
</a>
</li>
</ul>
然后在头部的jQuery代码中进行调用:
$(function() {
$('#gallery a').lightBox();
});
这个效果的代码全部在一个外部的js文件中。而模态窗口的css样式又全部在一个外部文件中,这样很方面修改。
首先研究外部的js文件:
可以看到,整个模态窗口的结构都是用jQuery动态生成的,在这段代码里:
$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>');
这个结构显然不好研究,可以把它复制出来,粘到一个新建的html文件中,这样方便观察结构。
其中,
<div id="jquery-lightbox">
这个div的宽度是通屏的,
<div id="lightbox-container-image-box">
<div id="lightbox-container-image-data-box">
这两个div通过margin:0 auto属性设置成屏幕的居中显示。
弄懂了这些结构,再加上外部的css样式,基本上就可以对它进行改版了。
但是我做的这个案例改动比较大,由上下布局改为左右布局,两个左右切换的箭头要由图片上面变成整个区域的左右两边。
鉴于是左右的布局,我把可以自动使用大小的布局改成了固定的布局,
var intCurrentWidth = $('#lightbox-container-image-box').width();
var intCurrentHeight = $('#lightbox-container-image-box').height();
var intWidth = (intImageWidth + (settings.containerBorderSize * 2));
var intHeight = (intImageHeight + (settings.containerBorderSize * 2));
var intDiffW = intCurrentWidth - intWidth;
var intDiffH = intCurrentHeight - intHeight;
这些是获取高度和宽度的变量,改成相应的数字就可以了。
至于两个左右的箭头,我不得不在多加了个div给固定位置:
$('body').append('')
加额外的表情必须在这里面添加才可能生效。
理解了上述这些东西,基本上这个效果你就可以任意的改动了,最好是css样式好一点的人比较好改!
下面的两个压缩包,上面的是原来效果的。下面的是根据我公司的需求,修改过效果的。
分享到:
相关推荐
Jquery的插件,漂亮的Jquery弹出模态窗口提示框,使用纯Jquery实现
jquery-popup是一款非常实用的jQuery响应式模态窗口和弹出对话框插件。这个插件提供两个方法popup()和dialog()分别来显示模态窗口和弹出对话框,并且内置了7种CSS3过渡动画特效。
jquery 模态modal弹出式登录框窗口.zip
用于实现jquery模态窗口的一个js文件。
$.funkyUI // 弹出模态窗口 $.unfunkyUI // 关闭模态窗口 $.alert //警告提示对话框 $.confirm //确认和取消对话框 $.fn.block //块模态 $.fn.unblock//解除块模态 调用示例: $.blockUI({ url:"1.html",...
popupWindow.js是一款jQuery弹出层窗口插件。该插件能够轻松的制作弹出层模态窗口效果。弹出的窗口支持最大化、最小化、拖拽、改变尺寸等功能。
jQuery响应式弹出层控件+图片放大插件支持模态窗口,不过经过测试发现,在IE8下有错误,火狐和Chrome下都正常,可能兼容性有待修复。它可以弹出图片放大框、文字框等,并可以关闭弹出框,响应式、模态弹出框插件,...
这是一款在用户阅读文章后弹出的jQuery可定制的订阅注册模态窗口插件。该模态窗口插件用于为用户提供快捷的注册实时通讯服务,用户在滚动到文章底部或回滚时弹出一个模态注册实时通讯窗口。
代码简介:jQuery模态窗口登陆效果是一款基于jquery实现的网站登录框弹出特效代码。
jQuery灯箱弹出窗口插件litebox是一款多功能的,自动检测内容,灯箱模态窗口以图像,嵌入的内容YouTube,Vimeo,每日运动和Kickstarter,iframes和内联HTML。
jQuery模态窗口用户注册代码,现在越来越多的企业网站或商城网站,在右上角有登录或者注册,点击之后,在页面弹出窗口,需要我们完成登录注册的效果,这样的页面会显的比较美观,php中文网推荐下载!
这是一款在用户阅读文章后弹出的jQuery可定制的订阅注册模态窗口插件。该模态窗口插件用于为用户提供快捷的注册实时通讯服务,用户在滚动到文章底部或回滚时弹出一个模态注册实时通讯窗口。
jQuery模态窗口用户注册代码,点击弹出注册表单,带关闭按钮。
Jquery实现模态框,包含对表的修改,删除,详情查看,增加等功能,代码简介,通俗易懂,对该代码原主人表示感谢!
支持拖拽的jQuery层弹出窗口.rar支持拖拽的jQuery层弹出窗口.rar支持拖拽的jQuery层弹出窗口.rar
bDialog是一款可多层嵌套高定制化的jquery弹出窗口插件。它是基于Boostrap Modal开发的可多层嵌套、定制灵活的模态窗口。支持Bootstrap2、Bootstrap3。
好用的jquery弹出框,很容易上手! 【文件&目录】 [lhgdialog] 文件夹 实际项目中要使用的组件文件和组件源文件 index.html 组件说明示例主页面 [_doc] api文档和其它一些文档文件夹,实际使用中不需要此文件夹 [_...
这是一款带19种炫酷CSS3过渡动画的jQuery模态窗口插件。该插件基于Codrops的ModalWindowEffects来制作,通过jQuery插件的方式来统一管理各种打开模态窗口的效果。
jQuery比bootstrap效果还帅的响应式模态窗口弹出层
这是一款基于jQuery和Bootstrap的添加快捷方式特效,点击弹出模态窗口创建快捷方式代码。