基于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 相关文章推荐
filemanage功能中用到的common.js
Apr 08 Javascript
Array.prototype.slice.apply的使用方法
Mar 17 Javascript
js改变img标签的src属性在IE下没反应的解决方法
Jul 23 Javascript
浅析JQuery UI Dialog的样式设置问题
Dec 18 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
jQuery+HTML5加入购物车代码分享
Oct 29 Javascript
js中substring和substr两者区别和使用方法
Nov 09 Javascript
Javascript实现单例模式
Jan 24 Javascript
点击页面任何位置隐藏div的实现方法
Sep 05 Javascript
JS实现数组按升序及降序排列的方法
Apr 26 Javascript
vue-router 组件复用问题详解
Jan 22 Javascript
ElementUI radio组件选中小改造
Aug 12 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中的字符串函数
2006/11/24 PHP
什么是MVC,好东西啊
2007/05/03 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
php的ddos攻击解决方法
2015/01/08 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
如何通过Linux命令行使用和运行PHP脚本
2015/07/29 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
JavaScript函数的特性与应用实践深入详解
2018/12/30 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
J2EE中常用的名词进行解释
2015/11/09 面试题
项目副经理岗位职责
2013/12/30 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
鲁迅故里导游词
2015/02/05 职场文书
党委工作总结2015
2015/04/27 职场文书
Java对文件的读写操作方法
2022/04/29 Java/Android