代码地址如下:
http://www.demodashi.com/demo/12302.html

插件介绍

这是一个根据阴阳师官网的轮播效果所扒下来的轮播插件,主要应用于定制个性化场景,目前源码完全公开,如有需要,可根据自己的需求修改源码样式下面是一个演示页面截图(建议使用新版谷歌、火狐浏览器观看,对于ie9以下不支持CSS3属性的浏览器不兼容)。

在插件包中,包含新旧两个版本的插件js源码,区别主要在于控制移动样式上面,可根据自身需求修改对应css样式及插件部分代码,实现个性化定制。

其中index.html对应新版demo页面,demo_old.html对应旧版demo页面。

js文件夹目录下包括jquery-yys-slider.js新版 js 源码,jquery-yys-slider-old.js旧版 js 源码。

实现逻辑

一般的轮播图插件实现的原理,其实就是中间有一个刚好显示一张轮播图的视窗,然后控制轮播图的横向或是纵向的一个移动,来达到轮播图切换的效果。

下面主要讲一讲我当时做这个轮播图的一些思路和逻辑吧,这个轮播图插件主要实现原理与这个方式稍有差别,主要体现在这里不用控制轮播图的位移,只需要控制轮播图的class的切换,即可达到类似位移的效果。

这里我就以四图轮播的方式讲解一下。

首先,从这个轮播图的初始位置上观察,暂且用所有图片容器对应的下标作为标识,即类名为”.gallery_wrap”的 4个子元素,分别对应 0, 1, 2, 3。在这种图中前三个图片容器都分别展示出来了,最后一个下标为 3 的元素被前面的元素遮挡住了。

下面这两张图片,是从初始位置,连续点击两次左侧按钮发生的类名变化以及位移。

从这三张图片中,不难发现,这里面的规律的:当我们观察 i == 0 的图片时,可以发现这个图片容器的类名依次变化顺序(”.gallery_left_middle” ==> “.front_side” ==> “.gallery_right_middle” ==> “.gallery_out” ==> “.gallery_left_middle”…)。实际上轮播的原理,就是让每个图片容器的类名变化,从而改变其css定位,来实现的位移效果。

核心代码

轮播图的位移,实际是靠控制轮播图的类名变化实现的

//左侧按钮绑定点击事件
_this.find(_gallery_item_left).on('click',function(){var idx = parseInt(_this.find(_gallery_left_middle).index());//当前展示图片逻辑_this.find(_threeD_gallery_item).eq(idx).removeClass('gallery_left_middle').addClass('front_side');//当idx值为0时,执行逻辑_this.find(_threeD_gallery_item).eq(idx == 0 ? idx + _imgNum - 1 : idx - 1).removeClass('gallery_out').addClass('gallery_left_middle');//当idx值为_imgNum - 3时,执行逻辑_this.find(_threeD_gallery_item).eq(idx == _imgNum - 3 ? idx + 2 : idx - _imgNum + 2).removeClass('gallery_right_middle').addClass('gallery_out');//当idx值为_imgNum - 2时,执行逻辑_this.find(_threeD_gallery_item).eq(idx == _imgNum - 2 ? idx + 1 : idx - _imgNum + 1).removeClass('front_side').addClass('gallery_right_middle');
})
//右侧按钮绑定点击事件
_this.find(_gallery_item_right).on('click',function(){var idx = parseInt(_this.find(_gallery_right_middle).index());//当前展示图片逻辑_this.find(_threeD_gallery_item).eq(idx).removeClass('gallery_right_middle').addClass('front_side');//当idx值为0时,执行逻辑_this.find(_threeD_gallery_item).eq(idx == 0 ? idx + _imgNum - 1 : idx - 1).removeClass('front_side').addClass('gallery_left_middle');//当idx值为1时,执行逻辑_this.find(_threeD_gallery_item).eq(idx == 1 ? idx + _imgNum - 2 : idx - 2).removeClass('gallery_left_middle').addClass('gallery_out');//当idx值为_imgNum - 2时,执行逻辑_this.find(_threeD_gallery_item).eq(idx == _imgNum - 2 ? idx + 1 : idx - _imgNum + 1).removeClass('gallery_out').addClass('gallery_right_middle');
})

在这里可以看到,控制轮播图移动的实际为两个不可见的按钮,分别置于正面显示轮播图的左右两侧,如下图所示:


运行效果

下载附件后,直接打开index.htmldemo_old.html即可在浏览器中看到运行效果。

使用方法

调用轮播插件:
Html:
<div class="gallery_container"></div>
Javascript:
$(".gallery_container").gallery_slider({imgNum: 4, // 轮播图数量至少为4张imgArr: [  // 图片数组,图片数组长度应与图片数量保持一致'images/xxx.jpg','images/xxx.jpg','images/xxx.jpg','images/xxx.jpg']
});

预览图:

预览地址:https://yangyunhe369.github.io/jQuery-Yys-Slider

高仿阴阳师官网轮播图效果的jQuery插件

代码地址如下:
http://www.demodashi.com/demo/12302.html

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

高仿阴阳师官网轮播图效果的jQuery插件相关推荐

  1. html小米官网轮播图js,小米官网轮播图js+css3+html实现

    官网轮播: 我的轮播: 重难点: 1.布局 2.图片和右下角小圆点的同步问题 3.setInterval定时器的使用 4.淡入淡出动画效果 5.左右箭头点击时,图片和小圆点的效果同步 6.另一种轮播思 ...

  2. 仿网易云官网轮播图 html+css+js

    效果: 可自动轮播,左右箭头按钮和下方小圆点可切图,鼠标移入时停止自动轮播. 视频演示: [html+css+js]仿网易云轮播图 实现(后面有完整源码): 1. 定义标签,看注释: <!-- ...

  3. html轮播台袋效果,css3百叶窗轮播图效果

    标题 #Con{width:900px; /*宽度*/ height:500px;/*高度*/ background:#9933FF;/*背景颜色*/ position:relative;} #con ...

  4. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

    利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...

  5. jQuery实现常见的轮播图效果

    1.在网页中常见的一类轮播图如下图所示, 此处以小米官网(www.mi.com)为例进行说明 说明:红色箭头标注的是左.右箭头:右下角蓝色箭头标注的是可以控制图片播放顺序的小圆点: 2.轮播图的特点 ...

  6. HTML+CSS+JavaScript实现轮播图效果

    前言 先奉上本文需要的所有资源,免费下载,代码有详细注释,可搭配本文使用: 前端JavaScript实现轮播图效果 百度网盘:百度网盘 请输入提取码 提取码:slbt 没有添加动画效果,添加了自动切换 ...

  7. vue-carousel-3d轮播图效果,实例详解,可实现宽度自适应

    如图所示,这是一个大屏项目的3d轮播图效果,下面跟着我来详细实现这个轮播效果.官网地址:https://wlada.github.io/vue-carousel-3d/ 如图所示,这是轮子工厂里面的v ...

  8. 【微信小程序】小程序实现轮播图效果--swiper组件(一步步教你如何实现)

    文章目录 前言 1.引入外部链接图片资源 2.让swiper来调整适应图片的宽高 3.实现轮播效果--autoplay 总结 欢迎点赞,收藏,加关注 前言 此例子是用微信小程序组件swiper来实现轮 ...

  9. html轮播台袋效果,使用html+js+css 实现页面轮播图效果(实例讲解)

    html 页面 轮播图效果 < > css页面 carousel.css #main{ width: 655px; height: 361px; position: relative; } ...

最新文章

  1. java中HashMap在多线程环境下引起CPU100%的问题解决
  2. 常用SQL语句书写技巧-
  3. gps数据处理matlab,基于Matlab的数据处理方法在GPS高程拟合中的应用
  4. 618电商大促 到底谁家赢了?大家都这么有钱的吗?
  5. 博学谷html css,博学谷 - CSS笔记12 - 清除浮动
  6. 最小化或关闭时隐藏到系统托盘
  7. jenkins pipeline之如何创建一个流水线
  8. JavaScript 类型的隐式转换
  9. sql2008 评估期过期解决办法
  10. Linux SSHD服务安装与维护详解(二)——SSHD调优和fail2ban联动
  11. 题解 P2163 SHOI2007 园丁的烦恼
  12. iOS App Icon启动图尺寸配置适配iPhone XS XR XS Max等
  13. Windows下安装Oracle数据库及遇到的问题解决方法(找不到WFMLRSVCApp.ear文件)
  14. java审计之XXE
  15. Intellij IDEA 初学入门图文教程(六) —— IDEA 在 Performing VCS Refresh 卡死
  16. 「石墨文档」在线协同办公系统平台免费在线办公文档兼容Office
  17. exlc表格怎么换行_Excel表格如何自动换行
  18. racle varchar,date互转,number,varchar互转
  19. 创新发明与专利实务的尔雅答案
  20. MAP 推荐系统 Mean Average Precision

热门文章

  1. python顺序结构的关键字_Python1_Python的目录结构、执行顺序、__name__ == __main__
  2. ajax nginx 转发 sessionid_「查缺补漏」巩固你的Nginx知识体系
  3. 鸿蒙应用开发--事件
  4. ARM系统中断产生流程
  5. linux NAND驱动之四:6410上的NAND读写流程
  6. 【Python】main函数 if __name__=='__main__' 详解
  7. 微信小程序|开发实战篇之五-slide-view滑动菜单组件
  8. 创建表空间和创建表过程分析
  9. SqlServer显示“正在还原...”
  10. 使用正态分布变换(Normal Distributions Transform)进行点云配准