基于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读取ASP设定的COOKIE
Nov 24 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
Mar 14 Javascript
Jquery结合HTML5实现文件上传
Jun 25 Javascript
js实现的后台左侧管理菜单代码
Sep 11 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
Nov 06 Javascript
使用Javascript写的2048小游戏
Nov 25 Javascript
vue.js 表格分页ajax 异步加载数据
Oct 18 Javascript
JavaScript获取select中text值的方法
Feb 13 Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
Sep 11 Javascript
微信小程序swiper实现文字纵向轮播提示效果
Jan 21 Javascript
jQuery带控制按钮轮播图插件
Jul 31 jQuery
基于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中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
详解Python迭代和迭代器
2016/03/28 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
python 高阶函数简单介绍
2021/02/19 Python
Lookfantastic香港官网:英国知名美妆购物网站
2018/06/19 全球购物
C# .NET面试题
2015/11/28 面试题
事务机电主管工作职责
2014/02/25 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
Python实现天气查询软件
2021/06/07 Python
php png失真的原因及解决办法
2021/11/17 PHP
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android