奇葩的轮播图

说轮播图很简单的,一定是没有遇到厉害的产品。


先说需求:
首先,一个mask会有三张图片,点击左右按钮会左右滑动一张图片的宽度。
点击展示的三张图片的任意一张,弹出遮罩,显示该图片的放大样式,并支持左右箭头的点击,类似一个新的轮播图。

轮播的插件

找了很久都没有找到一个合适的插件,如果自己书写,无疑会花费更多的时间,故采取一个折中的方案,用两个轮播插件实现需求。

一个插件实现左右滚动的效过,一个插件弹出的左右效果。

插件如下:

jquery.magnific-popup.js
swiper.min.js

配置说明

html结构

 <div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<a href="./1.jpg" data-source="./1.jpg" style="width:100%;">
<img src="./1.jpg" width="100%">
</a>
</div>
<div class="swiper-slide">
<a href="./4.jpg" data-source="./4.jpg" style="width:100%;">
<img src="./4.jpg" width="100%">
</a>
</div>
<div class="swiper-slide">
<a href="./4.jpg" data-source="./4.jpg" style="width:100%;">
<img src="./4.jpg" width="100%">
</a>
</div>
<div class="swiper-slide">
<a href="./4.jpg" data-source="./4.jpg" style="width:100%;">
<img src="./4.jpg" width="100%">
</a>
</div>
</div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>

私有css样式

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
opacity: 0;
-webkit-backface-visibility: hidden;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.mfp-with-zoom.mfp-ready .mfp-container {
opacity: 1;
}
.mfp-with-zoom.mfp-ready.mfp-bg {
opacity: 0.8;
}
.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
opacity: 0;
}
.swiper-container a {
display: inline-block;
}
body {
margin: 0;
padding: 0;
}

相关js的配置

var swiper = new Swiper('.swiper-container', {
nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev',
slidesPerView: 3,
centeredSlides: false,
spaceBetween: 0,
});
$('.swiper-wrapper').magnificPopup({
delegate: 'a',
type: 'image',
closeOnContentClick: false,
closeBtnInside: false,
mainClass: 'mfp-with-zoom mfp-img-mobile',
gallery: {
enabled: true
},
zoom: {
enabled: true,
duration: 300,
opener: function (element) {
return element.find('img');
}
} });

注意:当设置swiper配置项目为循环播放的时候,会导致插件magnificPopup的图片数量增加。

很多的实现循环播放的插件都会至少增加图片栈的最前与最后的一张图片,以在视觉上显示无线循环的假象,当前这种技术是基于定时器动画才有的限制。

当采用css3显示的轮播图,通过淡入淡出,可以不用增加图片的数量,来完成无限轮播。

more

magnific-Popup github地址

swiper 中文网地址

swiper.js + jquery.magnific-popup.js 实现奇葩的轮播需要的更多相关文章

  1. js渐隐渐现透明度变化淡入淡出轮播图

    js渐隐渐现透明度变化淡入淡出轮播图.焦点图 一些广告banner展示常见. (附件) <!DOCTYPE html> <html> <head> <meta ...

  2. jquery的fadeTo方法的淡入淡出轮播图插件

    由于对基于jquery的简单插件开发有了一定的了解,慢慢的也对基于jquery的插件开发有了兴趣,在上班结束之后就研究各种插件的思路逻辑.最近开发了一款基于jquery的fadeTo方法的轮播图插件, ...

  3. 基于jQuery带进度条全屏图片轮播代码

    基于jQuery带进度条全屏图片轮播代码.这是一款基于jQuery实现的oppo手机官网首页带进度条全屏图片轮播特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  4. JS框架_(Popup.js)3D对话框窗口插件

    百度云盘 传送门 密码:afdo 3D对话框窗口插件效果: <!doctype html> <html lang="zh"> <head> &l ...

  5. 原生js+css3实现图片自动切换,图片轮播

    运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...

  6. js原生选项卡(自动播放无缝滚动轮播图)二

    今天分享一下自动播放轮播图,自动播放轮播图是在昨天分享的轮播图的基础上添加了定时器,用定时器控制图片的自动切换,函数中首先封装一个方向的自动播放工能的小函数,这个函数中添加定时器,定时器中可以放向右走 ...

  7. jQuery系列(十三):实现轮播

    1.轮播一: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  8. jQuery无缝循环开源多元素动画轮播jquery.slides插件

    详细内容请点击 初始化插件: 一款基于jQuery无缝轮播图插件,支持图内元素动画,可以自定义动画类型$(".slideInner").slide({slideContainer: ...

  9. No mapping found for HTTP request with URI [/SLSaleSystem/js/jquery.dataTables.min.js] in DispatcherServlet with name 'spring' 静态资源文件访问不到,无解!!!!!!!

    报错信息:   网上三种修改 web.xml 文件方法尝试未果 尝试未果:<mvc:default-servlet-handler/> 尝试未果:方法2:直接告诉spring,这个你就得这 ...

随机推荐

  1. 【转载】 C#工具类:Csv文件转换类

    CSV是逗号分隔值格式的文件,其文件以纯文本形式存储表格数据(数字和文本).CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号 ...

  2. [android] 显示意图激活另外一个activity

    可以使用跳转的方式类似javaweb来实现界面转换 显示意图就是必须要指定开启组件的具体信息,包名,组件名,组件的class 新建一个类TwoActivity ,继承Activity类,重写onCre ...

  3. mybatis_07动态SQL_foreach循环

    废话不多说,直接上代码! <select id="findUserByforeach" parameterType="userQueryVO" resul ...

  4. Unix awk的流程控制BEGIN和END的讲解

    你可能对Unix比较熟悉,但你可能对Unix awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度. 流程控制语句是任何程序设计语言都不能缺少的部分.任何好的语言都有 ...

  5. SQL查询,关联查询的区别 (LEFT JOIN 、LEFT OUTER JOIN、INNER JOIN)

    ), f2 ) ) ), f2 ) ) ------------------------------------------------ ','a1') ','a2') ','a3') ','a4') ...

  6. C# % 和 /

    /相当于整数除法中的除号,%相当于余号5 除以 2 = 2 余 1,因此 5/2=2,5%2=1.

  7. jQuery 练习:取出数组字典的值, 静态对话框, clone方法应用

    jQuery 中文API文档 http://jquery.cuishifeng.cn/ jQuery 取出数组字典的值 <head> <meta charset="UTF- ...

  8. thinkphp 使用paginate分页搜索带参数

    最近做项目发现使用paginate分页,搜索的时候点下一页搜索条件就变没了,所以在网上找了找一些方法,有的说是使用Page类,但是用习惯了paginate,再用Page不习惯,找到了一个方法,可以使用 ...

  9. CSS3 - @keyframes

    语法 @keyframes animationname { keyframes-selector {css-styles;} } 值 描述 animationname 必需.定义动画的名称. keyf ...

  10. css 样式表的书写顺序

    display || visibility list-style : list-style-type || list-style-position || list-style-image positi ...