基于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 相关文章推荐
在视频前插入广告
Nov 20 Javascript
JavaScript在多浏览器下for循环的使用方法
Nov 07 Javascript
js onclick事件传参讲解
Nov 06 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
Sep 20 Javascript
ReactNative短信验证码倒计时控件的实现代码
Jul 20 Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
Jun 19 Javascript
js实现的格式化数字和金额功能简单示例
Jul 30 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
解决Element中el-date-picker组件不回填的情况
Nov 07 Javascript
游戏开发中如何使用CocosCreator进行音效处理
Apr 14 Javascript
JavaScript实现显示和隐藏图片
Apr 29 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
JS重学系列之聊聊new操作符
2019/03/04 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
Python中的字典与成员运算符初步探究
2015/10/13 Python
Python探索之Metaclass初步了解
2017/10/28 Python
Python中的TCP socket写法示例
2018/05/11 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
SQL Server笔试题
2012/01/10 面试题
学习三严三实心得体会
2014/10/13 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python
OpenCV实现常见的四种图像几何变换
2022/04/01 Python