基于Jquery制作的幻灯片图集效果打包下载


Posted in Javascript onFebruary 12, 2011

待改进部分
1.大图可根据浏览器分辨率自动缩放,目前是按照固定的宽和高显示,超出部分隐藏。
2.大图现在是直接载入了所有,若图片很多时,体验不好。可改为异步加载,或者延迟加载,这个可以用jquery控件lazyload实现。
3.缩略图是根据上传时设定的参数直接生成的,如果是竖形图片,会出现被压缩的情况。可以改为只显示局部,超出部分隐藏。
4.缩略图列表的滑动采用了jcarousellite插件,如果将幻灯片提取为插件的话,需要整合为一个。
5.目前大图区域和缩略图区域是相对独立的,优点是比较直观,可以自行随便更改显示位置,缺点是HTML的代码量较多,不像有些插件,只需要$("#ID")一下就可以了。
JS代码

<script type="text/javascript"> 
var currentImage; 
var currentIndex = -1; 
//显示大图(参数index从0开始计数) 
function showImage(index) { 
//更新当前图片页码 
$(".CounterCurrent").html(index + 1); 
//隐藏或显示向左向右鼠标手势 
var len = $('#OriginalPic img').length; 
if (index == len - 1) { 
$("#aNext").hide(); 
} 
else { 
$("#aNext").show(); 
} 
if (index == 0) { 
$("#aPrev").hide(); 
} 
else { 
$("#aPrev").show(); 
} 
//显示大图 
if (index < $('#OriginalPic img').length) { 
var indexImage = $('#OriginalPic p')[index]; 
//隐藏当前的图 
if (currentImage) { 
if (currentImage != indexImage) { 
$(currentImage).css('z-index', 2); 
$(currentImage).fadeOut(0, function () { 
$(this).css({ 'display': 'none', 'z-index': 1 }) 
}); 
} 
} 
//显示用户选择的图 
$(indexImage).show().css({ 'opacity': 0.4 }); 
$(indexImage).animate({ opacity: 1 }, { duration: 200 }); 
//更新变量 
currentImage = indexImage; 
currentIndex = index; 
//移除并添加高亮 
$('#ThumbPic img').removeClass('active'); 
$($('#ThumbPic img')[index]).addClass('active'); 
//设置向左向右鼠标手势区域的高度 
//var tempHeight = $($('#OriginalPic img')[index]).height(); 
//$('#aPrev').height(tempHeight); 
//$('#aNext').height(tempHeight); 
} 
} 
//下一张 
function ShowNext() { 
var len = $('#OriginalPic img').length; 
var next = currentIndex < (len - 1) ? currentIndex + 1 : 0; 
showImage(next); 
} 
//上一张 
function ShowPrep() { 
var len = $('#OriginalPic img').length; 
var next = currentIndex == 0 ? (len - 1) : currentIndex - 1; 
showImage(next); 
} 
//下一张事件 
$("#aNext").click(function () { 
ShowNext(); 
if ($(".active").position().left >= 144 * 5) { 
$("#btnNext").click(); 
} 
}); 
//上一张事件 
$("#aPrev").click(function () { 
ShowPrep(); 
if ($(".active").position().left <= 144 * 5) { 
$("#btnPrev").click(); 
} 
}); 
//初始化事件 
$(".OriginalPicBorder").ready(function () { 
ShowNext(); 
//绑定缩略图点击事件 
$('#ThumbPic li').bind('click', function (e) { 
var count = $(this).attr('rel'); 
showImage(parseInt(count) - 1); 
}); 
}); 
</script>

在线演示:http://demo.3water.com/js/2011/Gallery/index.html
打包下载:/201102/yuanma/Gallery_3water.rar
Javascript 相关文章推荐
JQuery 前台切换网站的样式实现
Jun 22 Javascript
Extjs学习笔记之六 面版
Jan 08 Javascript
javascript中一些util方法汇总
Jun 10 Javascript
基于jQuery实现仿51job城市选择功能实例代码
Mar 02 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
Dec 26 Javascript
bootstrap table配置参数例子
Jan 05 Javascript
Bootstrap常用组件学习(整理)
Mar 24 Javascript
AngularJS常见过滤器用法实例总结
Jul 06 Javascript
React应用中使用Bootstrap的方法
Aug 15 Javascript
微信小程序icon组件使用详解
Jan 31 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
Jun 10 jQuery
jQuery实现验证用户登录
Dec 10 jQuery
基于jquery的jqDnR拖拽溢出的修改
Feb 12 #Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
Feb 12 #Javascript
在vs2010中调试javascript代码方法
Feb 11 #Javascript
juqery 学习之六 CSS--css、位置、宽高
Feb 11 #Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
Feb 11 #Javascript
juqery 学习之五 文档处理 插入
Feb 11 #Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
Feb 11 #Javascript
You might like
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
&amp;lt;script defer&amp;gt; defer 是什么意思
2009/05/10 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
django 简单实现登录验证给你
2019/11/06 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
如何定义一个可复用的服务
2014/09/30 面试题
技校毕业生的自我评价
2013/12/27 职场文书
策划创业计划书
2014/02/06 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
好的促销活动方案
2014/08/21 职场文书
限期整改通知书
2015/04/22 职场文书
音乐会主持人开场白
2015/05/28 职场文书
追讨欠款律师函
2015/06/24 职场文书
入队仪式主持词
2015/07/04 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB