基于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 相关文章推荐
JS 文字符串转换unicode编码函数
May 30 Javascript
收集的10个免费的jQuery相册
Feb 26 Javascript
jQuery.buildFragment使用方法及思路分析
Jan 07 Javascript
jQuery操作select下拉框的text值和value值的方法
May 31 Javascript
jquery控制表单输入框显示默认值的方法
May 22 Javascript
jQuery 全选 全部选 反选 实现代码
Aug 17 Javascript
微信小程序 chooseImage选择图片或者拍照
Apr 07 Javascript
JavaScript用二分法查找数据的实例代码
Jun 17 Javascript
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
Vue中添加手机验证码组件功能操作方法
Dec 07 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
VUE DOM加载后执行自定义事件的方法
Sep 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
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
用jscript实现新建word文档
2007/06/15 Javascript
javascript String 对象
2008/04/25 Javascript
JS的数组的扩展实例代码
2008/07/09 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
bootstrap3-dialog-master模态框使用详解
2017/08/22 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
Python pass 语句使用示例
2014/03/11 Python
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
Python读取properties配置文件操作示例
2018/03/29 Python
Python实现二维数组输出为图片
2018/04/03 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
python爬虫之遍历单个域名
2019/11/20 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
Python tkinter常用操作代码实例
2020/01/03 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
自我管理的活动方案
2014/08/25 职场文书
班主任先进事迹材料
2014/12/17 职场文书
单位病假条范文
2015/08/17 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
Python requests用法和django后台处理详解
2022/03/19 Python
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers