基于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中Ajax 缓存带来的影响的解决方法
May 19 Javascript
jQuery实现图片放大预览实现原理及代码
Sep 12 Javascript
jQuery中Form相关知识汇总
Jan 06 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
Mar 03 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
使用Javascript实现选择下拉菜单互移并排序
Feb 23 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
Aug 02 Javascript
JavaScript 数组的深度复制解析
Nov 02 Javascript
angular ng-repeat数组中的数组实例
Feb 18 Javascript
mocha的时序规则讲解
Feb 16 Javascript
vue发送websocket请求和http post请求的实例代码
Jul 11 Javascript
javascript头像上传代码实例
Sep 28 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中for循环语句的几种变型
2006/11/26 PHP
PHP中使用gettext来支持多语言的方法
2011/05/02 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
Web打印解决方案之证件套打的实现思路
2016/08/29 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
python监控文件并且发送告警邮件
2018/06/21 Python
教你一步步利用python实现贪吃蛇游戏
2019/06/27 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
Python读取yaml文件的详细教程
2020/07/21 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
vue实现倒计时功能
2021/03/24 Vue.js
车间统计员岗位职责
2014/01/05 职场文书
上课迟到检讨书
2014/01/19 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
五年级上册复习计划
2015/01/19 职场文书
家装电话营销开场白
2015/05/29 职场文书
赢在执行观后感
2015/06/16 职场文书
小学生班干部竞选稿
2015/11/20 职场文书