基于Jquery制作的幻灯片图集效果打包下载_Javascript教程-查字典教程网
基于Jquery制作的幻灯片图集效果打包下载
基于Jquery制作的幻灯片图集效果打包下载
发布时间:2016-12-30 来源:查字典编辑
摘要:待改进部分1.大图可根据浏览器分辨率自动缩放,目前是按照固定的宽和高显示,超出部分隐藏。2.大图现在是直接载入了所有,若图片很多时,体验不好...

待改进部分

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.jb51.net/js/2011/Gallery/index.html

打包下载:/201102/yuanma/Gallery_jb51.rar

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类