基于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 相关文章推荐
JavaScript的9个陷阱及评点分析
May 16 Javascript
JavaScript对数字的判断与处理实例分析
Feb 02 Javascript
JS通过ajax动态读取xml文件内容的方法
Mar 24 Javascript
一分钟理解js闭包
May 04 Javascript
最简单的tab切换实例代码
May 13 Javascript
JavaScript简单实现弹出拖拽窗口(二)
Jun 17 Javascript
AngularJs $parse、$eval和$observe、$watch详解
Sep 21 Javascript
详解vue+vueRouter+webpack的简单实例
Jun 17 Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
详解JavaScript作用域和作用域链
Mar 19 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
Nov 07 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
destoon整合UCenter图文教程
2014/06/21 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
DWR Ext 加载数据
2009/03/22 Javascript
js function使用心得
2010/05/10 Javascript
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
简单学习vue指令directive
2016/11/03 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
高三地理教学反思
2014/01/11 职场文书
春节活动策划方案
2014/01/24 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
创卫工作总结2015
2015/04/22 职场文书
村级干部党员公开承诺事项
2015/05/04 职场文书
Elasticsearch 数据类型及管理
2022/04/19 Python