首页 web前端 js教程 jQuery 幻灯片插件(带缩略图功能)_jquery

jQuery 幻灯片插件(带缩略图功能)_jquery

May 16, 2016 pm 06:11 PM
幻灯片 缩略图

应朋友的邀请,帮他公司做一个幻灯播放效果,效果如下:
jQuery 幻灯片插件(带缩略图功能)_jquery
缩略图正中间的为当前播放到的图片,两边呈发散状,逐渐缩小并降低透明度。假设当前正播放到第0张图片,则排列情况如下:

    0

   1 4

  2   3

  按逆时针方向转一张图后的排列情况如下:

    4

   0 3

  1    2

  这个只是缩略图的播放效果,缩略图轮转时,后面有对应大图跟着从右到左滚进,并且大图进入的速度要对应着缩略图轮转,整体效果如下:
jQuery 幻灯片插件(带缩略图功能)_jquery
本人考虑将缩略图轮转与大图的滚进分开两部分,缩略图轮转做为一个单独的jQuery插件,由此插件中的事件带动大图的滚进。下面先来说说缩略图的轮转插件的实现:
1、插件的参数:

复制代码 代码如下:

this.defaults = {
auto: false, //是否自动播放
width: 85, //缩略图的宽度
height: 42, //缩略图的高度
onstart: null, //开始滚动
onchange: null //滚动事件
};

2、插件的事件:
  onstart事件,为每次开始启动轮转时触发一次,转出的参数有:当前缩略图的jQuery对象与轮转到下一次缩略图的jQuery对象:
复制代码 代码如下:

opt.onstart && opt.onstart(me.Images.img[curIdx].img$, me.Images.img[idx].img$);

onchange事件,为每滚动一次距离就触发一次,并且当前滚动至百分之多少的进度参数:
复制代码 代码如下:

opt.onchange && opt.onchange(stepPercent[step]);

下面将要说到 stepPercent[step] 这个数组:
  缩略图轮转采用定时不定速度的方式,即每次轮转不过时轮转一张图还是两张图,时间都是固定的,但是轮转两张图的速度要比轮转一张图速度要快,这样即使有再多的图,滚动的距离再远,也不至于要很久才能滚到。
  stepPercent[step] 这个数组正是为这个设计的,每次轮转,都固定走15步,每一步轮转的距离都逐渐缩小,这样就达到了一个变速的效果,生成此数组的如下:
复制代码 代码如下:

var stepPercent = new Array(15); //固定走15步,每步走至百分之多少的一个数列。 表示经过时间一定,速度不固定
stepPercent[0] = 0.2; //起始20%
stepPercent[1] = 0.2 + 0.2 * 0.81; //第二步
for (var i = 2, total = stepPercent[1]; i stepPercent[i] = total + (total - stepPercent[i - 2]) * 0.81; //初始化数列。
total = stepPercent[i];
if (i == stepPercent.length - 1)
stepPercent[i] = 1;
}

起始第一步走20%,此后每一步都是前一步的81%,即速度每次递减19%,但是小数计算有个误差,到第15步时可能是个很接近于1,但是不是1的一个数值,所以,将第15步直接设置成1,即100%,滚动结束。
  (注:这个数列是如何设计出来的呢,我是用Excel,找一个单元格填上0.2,下一格公式为上一格的0.81,然后往下多拖一点,然后将上面的累加到接近1的数值,就是要的步数了。)
  这个数列如果不用JS生成,其实也可以将Excel中创建出来的数列直接定义一个数组,以后如果想要修改速度,再照做一次就行。
  
  轮转时,缩略图的尺寸、透明度、位置等信息的计算,都采用此stepPercent数组设定好的比例因子。
  关于插件其他不在赘述,请直接下载源代码查看,下面说说大图如何跟着缩略图滚动。
 3、大图滚动
  大图在随着缩略图滚动时,不过滚动到第几张,表现出来的效果都是紧跟着当前大图的后面滚进,以防跳过太多张时,由于速度太快,造成眼花缭乱的感觉,所以这里这个onstart事件就派上用场了。
  在onstart事件中,先将当前图移动到大图列表首位、再将目标图移动到当前图的后面,(注:要将当前图移动到大图列表首位,是因为有可能下一张在当前张的前面,当前张移到后面,滚动条位置会动)。
  然后在onchange事件中,只要根据传入的进度参数,设置横滚动条的滚动距离就行了,大图的滚动就这么简单。具体JS如下:
复制代码 代码如下:

$(function() {
$("#div_Slide").Slide({
auto: true,
width: 85,
height: 42,
onstart: function(curImg, nextImg) {
var cData = curImg.attr("data");
var nData = nextImg.attr("data");
var bigCur = $("#" + cData), bigNext = $("#" + nData);
var allBigImg = bigCur.parent().children("img");
var curIndex = allBigImg.index(bigCur[0]);
var nextIndex = allBigImg.index(bigNext[0]);
var firstImg = $(allBigImg[0]);
if (firstImg.attr("id") != bigCur.attr("id"))
bigCur.insertBefore(firstImg);
$("#div_BigImg").scrollLeft(0);
bigNext.insertAfter(bigCur);
},
onchange: function(percent) {
$("#div_BigImg").scrollLeft(1263 * percent);
}
});
var bigDiv = $("#div_BigImg");
var bigDivPos = bigDiv.position();
bigDiv.scrollLeft(0);    //初始时将滚动条滚到头,是因为我发现当滚动条不在头时,按F5刷新,滚动条不会跳到头。
$("#div_Slide").css({
"top": (bigDivPos.top + bigDiv.height() - $("#div_Slide").height()) + "px",
"left": bigDivPos.left + "px"
});
});

源码下载:http://xiazai.jb51.net/201101/yuanma/SlideDemo_jb51.rar
在使用中发现有问题或者有可改进的地方,请留言,谢谢。
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Win11怎么禁用任务栏缩略图预览? 关闭鼠标移动任务栏图标显示缩略图技巧 Win11怎么禁用任务栏缩略图预览? 关闭鼠标移动任务栏图标显示缩略图技巧 Feb 29, 2024 pm 03:20 PM

本文将介绍如何在Win11系统中关闭鼠标移动任务栏图标时显示的缩略图功能。这一功能在默认情况下是开启的,当用户将鼠标指针悬停在任务栏上的应用程序图标上时,会显示该应用程序的当前窗口缩略图。然而,有些用户可能觉得这个功能不太实用或者会干扰到他们的使用体验,因此想要关闭它。任务栏缩略图可能很有趣,但它们也可能分散注意力或烦人。考虑到您将鼠标悬停在该区域的频率,您可能无意中关闭了重要窗口几次。另一个缺点是它使用更多的系统资源,因此,如果您一直在寻找一种提高资源效率的方法,我们将向您展示如何禁用它。不过

如何修复背景幻灯片在 Windows 11、10 中不起作用 如何修复背景幻灯片在 Windows 11、10 中不起作用 May 05, 2023 pm 07:16 PM

在Windows11/10系统上,一些用户声称桌面背景上的幻灯片已经停止工作。用户对为什么笔记本电脑背景屏幕上的照片不再滑动感到困惑。幻灯片无法正常工作的此问题的原因如下所述。已安装第三方桌面定制应用程序。在电源选项中,桌面背景幻灯片设置已暂停。包含背景图像的文件夹被删除。幻灯片播放完成后屏幕可能会关闭。在对上述原因进行调查之后,我们创建了一个修复列表,无疑将帮助用户解决问题。解决方法——停用的窗口可能是导致此问题的原因之一。因此,请尝试激活Windows并检查问题是否已解决。尝试通过“设置”应

如何在 Windows 11 22H2 中自定义文件夹缩略图 如何在 Windows 11 22H2 中自定义文件夹缩略图 Apr 30, 2023 pm 04:52 PM

Windows1122H2是Windows11的第一个功能更新,应该会带来大量新功能和急需的改进。其中一项改进是允许预览文件夹内文件的文件夹缩略图。如果您不喜欢Windows11中文件夹缩略图的外观,可以通过以下方式更改它。Windows11中文件夹缩略图的一组自定义图标(由Reddit的LEXX911提供)可让您放大预览并更改文件夹图标样式。您仍然需要处理单个文件预览(例如,在Windows7中,文件夹缩略图可以同时显示多个图像),但您可以将其做得更大更方便。重要提示:

幻灯片全屏播放为什么有黑边 幻灯片全屏播放为什么有黑边 Oct 20, 2023 pm 03:25 PM

幻灯片全屏播放有黑边可能是因为屏幕分辨率不匹配、图片尺寸不匹配、缩放模式设置不正确、显示器设置问题和幻灯片设计问题等。详细介绍:1、屏幕分辨率不匹配,黑边的一个常见原因是屏幕分辨率与幻灯片尺寸不匹配,当幻灯片的尺寸小于屏幕分辨率时,播放时会出现黑边,解决方法是调整幻灯片的尺寸,使其与屏幕分辨率匹配,在 PowerPoint中,可以选择“设计”选项卡,然后点击“幻灯片大小”等等。

如何在Windows 11上创建带有背景音乐的幻灯片? 如何在Windows 11上创建带有背景音乐的幻灯片? Apr 21, 2023 am 10:07 AM

幻灯片是在Windows11计算机上组织图片的好方法。有时,Windows用户可能会面临某种硬件限制或系统更新,他们需要一种方法来存储他们的文件,以免被意外删除或丢失。此外,与必须通过一张一张地滚动照片来手动向人们展示相比,它使对照片进行分类和展示要容易得多。幻灯片也是将来自不同来源(相机、手机、USB驱动器)的照片汇集为一种易于欣赏的格式的好方法。幸运的是,您可以使用一些有用的第三方应用程序来创建这些幻灯片,而不必被迫使用PowerPoint之类的工具。该应用程序适用于商业演示,但Pow

如何将 PowerPoint 转换为 Google Slides? 如何将 PowerPoint 转换为 Google Slides? Apr 22, 2023 pm 03:19 PM

如何将PowerPoint转换为Google幻灯片将完整的PowerPoint演示文稿转换为Google幻灯片的最简单方法之一是上传它。通过将PowerPoint(PPT或PPTX)文件上传到Google幻灯片,该文件将自动转换为适用于Google幻灯片的格式。要将PowerPoint直接转换为Google幻灯片,请执行以下步骤:登录您的Google帐户,前往Google幻灯片页面,然后单击“开始新的演示文稿”部分下的空白。在新的演示文稿页面中,单击文件&g

Vscode怎么显示缩略图_Vscode显示缩略图方法 Vscode怎么显示缩略图_Vscode显示缩略图方法 Apr 02, 2024 pm 02:43 PM

1、首先进入VisualStudioCode后,点击左上角【文件】。2、然后点击【首选项】。3、点击【设置】项。4、接着点击【文本编辑器-缩略图】。5、最后在缩略图项,开启【控制是否显示缩略图】。

如何隐藏文本直到在 Powerpoint 中单击 如何隐藏文本直到在 Powerpoint 中单击 Apr 14, 2023 pm 04:40 PM

如何在 PowerPoint 中的任何点击之前隐藏文本如果您希望在单击 PowerPoint 幻灯片上的任意位置时显示文本,那么设置起来既快速又容易。要在 PowerPoint 中单击任何按钮之前隐藏文本:打开您的 PowerPoint 文档,然后单击“插入 ”菜单。单击新幻灯片。选择空白或其他预设之一。仍然在插入菜单中,单击文本框。在幻灯片上拖出一个文本框。单击文本框并输入您

See all articles