基于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 相关文章推荐
CSS鼠标响应事件经过、移动、点击示例介绍
Sep 04 Javascript
Javascript动态创建div的方法
Feb 09 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
Mar 16 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
Aug 13 Javascript
jquery图片轮播特效代码分享
Apr 20 Javascript
JSON 对象未定义错误的解决方法
Sep 29 Javascript
微信小程序 Storage API实例详解
Oct 02 Javascript
xcode中获取js文件的路径方法(推荐)
Nov 05 Javascript
Bootstrap3 内联单选和多选框
Dec 29 Javascript
基于JSONP原理解析(推荐)
Dec 04 Javascript
详解在React里使用&quot;Vuex&quot;
Apr 02 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
Oct 25 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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
PHP实现验证码校验功能
2017/11/16 PHP
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
python+pygame简单画板实现代码实例
2017/12/13 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python3实现逐字输出的方法
2019/01/23 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
python tkinter实现连连看游戏
2020/11/16 Python
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
出国导师推荐信
2014/01/16 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
《凡卡》教学反思
2014/04/09 职场文书
政府门卫岗位职责
2014/04/29 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
中国合伙人观后感
2015/06/02 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL