jquery插件制作 图片走廊 gallery


Posted in Javascript onAugust 17, 2012

首先创建jquery.gallery.js的插件文件,构建程序骨架。

(function ($) { 
$.fn.gallery = function () { 


return this.each(function () { 



var self = $(this); 



self.click(function () { 



}); 


}); 

} 
})(jQuery);

创建html文件,使用我们创建的插件。

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 
<script type="text/javascript" src="Scripts/jquery-1.6.2.js"></script> 
<script type="text/javascript" src="Scripts/jquery.gallery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function () { 
$('img').gallery(); 
}); 
</script> 
</head> 
<body> 
<img src="Images/orderedList1.png" alt="" /> 
<img src="Images/orderedList2.png" alt="" /> 
<img src="Images/orderedList3.png" alt="" /> 
</body> 
</html>

现在我们开始考虑如何实现点击图片的时候,显示放大图片的效果。其实我们显示放大的图片不是原先的图片,而是我们clone出了一个新图片,将他添加到页面中并加以显示。此外通过计算页面高度、宽度,图片高度、宽度,滚动条位置,来实现大图居中对齐的实现。下面我们看改进后的代码:
(function ($) { 
$.fn.gallery = function () { 
return this.each(function () { 
//将this变量保存到self,目的是为了避免程序错误 
//至于原因,上章简单提到this在函数上下中中代表的对象不同 
var self = $(this); 
//统一将小图的高度设置成100(根据个人需要可以调整,或者提供options选项) 
self.height(100); //添加click事件 
self.click(function () { 
//移除id为myImgGallery的对象,其实这个对象就是大图对象 
//每次点击的时候,都要移除上一次点击时产生的大图 
$('#myImgGallery').remove(); 
self.clone() //jquery的clone方法,clone图片 
.attr('id', 'myImgGallery')//设置id为myImgGallery 
.height($(window).height() / 2)//将图片高度设置为页面可用区域高度的一半(根据自己的需要也可以设置成其他值) 
.css({ 
position: 'absolute' 
}) 
.prependTo('body')//将大图添加到body对象中 
//使用自己创建的center插件,实现图片居中 
//注意,一定要将clone的对象添加到body后才能调用center方法,否则clone对象的width和height都为0 
.center() 
.click(function () {//添加大图的click事件 
$(this).remove(); //点击大图时,删除本身 
}); 
}); 
}); 
}; 
$.fn.center = function () { 
return this.each(function () { 
$(this).css({ 
//设置绝对定位,这样他就会浮动在最上层(必要的情况下可以设置zindex属性) 
position: 'absolute', 
//设置垂直居中对齐 
top: ($(window).height() - $(this).height()) / 2 + $(window).scrollTop() + 'px', 
//设置水平居中对齐 
left: ($(window).width() - $(this).width()) / 2 + $(window).scrollLeft() + 'px' 
}); 
}); 
}; 
})(jQuery);

好了,今天的内容到此结束。

demo下载地址:jQuery.plugin.gallery

Javascript 相关文章推荐
Js放到HTML文件中的哪个位置有什么区别
Aug 21 Javascript
JS随机漂浮广告代码具体实例
Nov 19 Javascript
页面加载完毕后滚动条自动滚动一定位置
Feb 20 Javascript
判断在css加载完毕后执行后续代码示例
Sep 03 Javascript
深入探讨javascript中的数据类型
Mar 04 Javascript
浅析JavaScript动画
Jun 10 Javascript
jQuery横向擦除焦点图特效代码分享
Sep 06 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
Dec 07 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
JS实现关键词高亮显示正则匹配
Jun 22 Javascript
JS解析后台返回的JSON格式数据实例
Aug 06 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
Dec 12 Javascript
jquery插件制作教程 txtHover
Aug 17 #Javascript
IFrame跨域高度自适应实现代码
Aug 16 #Javascript
JSONP 跨域共享信息
Aug 16 #Javascript
js自执行函数的几种不同写法的比较
Aug 16 #Javascript
js三种排序算法分享
Aug 16 #Javascript
jQuery点击后一组图片左右滑动的实现代码
Aug 16 #Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
Aug 14 #Javascript
You might like
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
PHP实现的功能是显示8条基色色带
2006/10/09 PHP
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
thinkphp备份数据库的方法分享
2015/01/04 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
js的OOP继承实现(必看篇)
2017/02/18 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
python服务器与android客户端socket通信实例
2014/11/12 Python
Python魔术方法详解
2015/02/14 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
python接入支付宝的实例操作
2020/07/20 Python
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
销售员岗位职责范本
2014/02/03 职场文书
个人公开承诺书
2014/03/28 职场文书
慰问敬老院活动总结
2014/04/26 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
房屋授权委托书范本
2014/10/07 职场文书
国庆节慰问信
2015/02/15 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
房贷收入证明范本
2015/06/12 职场文书