基于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 相关文章推荐
setTimeout的延时为0时多个浏览器的区别
May 23 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
Jan 13 Javascript
js实现的早期滑动门菜单效果代码
Aug 27 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
javascript实现uploadify上传格式以及个数限制
Nov 23 Javascript
jQuery中deferred对象使用方法详解
Jul 14 Javascript
基于jQuery实现表格的查看修改删除
Aug 01 Javascript
BootStrap Fileinput初始化时的一些参数
Dec 30 Javascript
jQuery实用密码强度检测
Mar 02 Javascript
vue实现同一个页面可以有多个router-view的方法
Sep 20 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
May 12 Javascript
解决vuex数据页面刷新后初始化操作
Jul 26 Javascript
基于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
PHP实现Socket服务器的代码
2008/04/03 PHP
php实现读取超大文件的方法
2014/07/28 PHP
JavaScript加强之自定义callback示例
2013/09/21 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
python获取远程图片大小和尺寸的方法
2015/03/26 Python
python文件与目录操作实例详解
2016/02/22 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
pyenv命令管理多个Python版本
2017/03/26 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
python实现xml转json文件的示例代码
2020/12/30 Python
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
家乐福巴西网上超市:Carrefour巴西
2016/10/31 全球购物
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
个人简历中的自我评价范例
2013/10/29 职场文书
会计应届生的自荐信
2013/12/13 职场文书
大学生实习感言
2014/01/16 职场文书
党校培训自我鉴定
2014/02/01 职场文书
三八节主持词
2014/03/17 职场文书
档案保密承诺书
2014/06/03 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
联片教研活动总结
2014/07/01 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
信访工作个人总结
2015/03/03 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
学校团代会开幕词
2016/03/04 职场文书
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android