图片轮播——Swiper实例

一、Swiper简介

     Swiper 是一款免费以及轻量级的移动设备触控滑块的js框架,使用硬件加速过渡(如果该设备支持的话)。主要使用于移动端的网站、移动web apps,native apps和hybrid apps。主要是为IOS而设计的,同时,在Android、WP8系统也有着良好的用户体验,Swiper从3.0开始不再全面支持PC端。因此,如需在PC上兼容更多的浏览器,可以选择Swiper2.x(甚至支持IE7)。

Swiper 完全免费并开源(MIT Licensed),无论你使用在个人网站或商业网站,都无需付费。

官网:https://www.swiper.com.cn/

二、实例

1、效果图

1.1、缩放型

1.2、3D界面

1.3、Y轴位移

1.4、旋转

1.5、立方体效果

1.6、3d翻转

2、代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Swiper Demo</title>
    <!--<link rel="stylesheet" href="css/swiper.min.css">-->
    <link rel="stylesheet" href="https://unpkg.com/swiper/css/swiper.min.css">
    <style>
        .myswiper {
            width: 1200px;
            margin: auto;
            text-align: center;
        }
    img{
	   width:200px;
           height:260px;
	}
    </style>
</head>
<body>
<div class="myswiper">
    <!--缩放型-->
    <div class="swiper-container demo1">
        <div class="swiper-wrapper">
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
        </div>
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
        <div class="swiper-pagination"></div>
    </div>

    <!--3D界面-->
    <div class="swiper-container demo2">
        <div class="swiper-wrapper">
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
        </div>
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
        <div class="swiper-pagination"></div>
    </div>

    <!--Y轴位移-->
    <div class="swiper-container demo3">
        <div class="swiper-wrapper">
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
        </div>
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
        <div class="swiper-pagination"></div>
    </div>

    <!--旋转-->
    <div class="swiper-container demo4">
        <div class="swiper-wrapper">
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
        </div>
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
        <div class="swiper-pagination"></div>
    </div>

    <!--立方体效果-->
    <div class="swiper-container demo5">
        <div class="swiper-wrapper">
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
        </div>
    </div>

    <!--3d翻转-->
    <div class="swiper-container demo6">
        <div class="swiper-wrapper">
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
            <div class="swiper-slide">
                <img src="img/imgdemo.png">
            </div>
        </div>
    </div>

</div>
</body>
<!--<script src="js/swiper.min.js"></script>-->
<script src="https://unpkg.com/swiper/js/swiper.min.js"> </script>
<script>
    // 缩放型
    var swiper = new Swiper('.demo1', {
        loop: true,
        speed: 2500,
        slidesPerView: 5,
        spaceBetween: 30,
        centeredSlides: true,
        watchSlidesProgress: true,
        on: {
            setTranslate: function () {
                slides = this.slides;
                for (i = 0; i < slides.length; i++) {
                    slide = slides.eq(i);
                    progress = slides[i].progress;
                    slide.css({'opacity': '', 'background': ''});
                    slide.transform('');//清除样式
                    slide.transform('scale(' + (1 - Math.abs(progress) / 8) + ')');
                }
            },
            setTransition: function (transition) {
                for (var i = 0; i < this.slides.length; i++) {
                    var slide = this.slides.eq(i)
                    slide.transition(transition);
                }
            }
        },
        // 显示左右滚动条
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        },
        // 显示分页器
        pagination: {
            el: '.swiper-pagination',
            clickable: true,
        }
    });

    // 3D界面
    var swiper = new Swiper('.demo2', {
        loop: true,
        mousewheel: true, // 鼠标滚动
        effect: 'coverflow',
        slidesPerView: 3,
        centeredSlides: true,
        coverflowEffect: {
            rotate: 30,
            stretch: 10,
            depth: 60,
            modifier: 2,
            slideShadows: true
        },
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        },
        // 显示分页器
        pagination: {
            el: '.swiper-pagination',
            clickable: true,
        }
    });

    // Y轴位移
    var swiper = new Swiper('.demo3', {
        loop: true,
        speed: 2500,
        slidesPerView: 5,
        spaceBetween: 30,
        centeredSlides: true,
        watchSlidesProgress: true,
        on: {
            setTranslate: function () {
                slides = this.slides;
                for (i = 0; i < slides.length; i++) {
                    slide = slides.eq(i);
                    progress = slides[i].progress;
                    slide.css({'opacity': '', 'background': ''});
                    slide.transform('');
                    slide.css('opacity',(1-Math.abs(progress)/6));
                    slide.transform('translate3d(0,'+ Math.abs(progress)*20+'px, 0)');
                }
            },
            setTransition: function (transition) {
                for (var i = 0; i < this.slides.length; i++) {
                    var slide = this.slides.eq(i)
                    slide.transition(transition);
                }
            }
        },
        // 显示左右滚动条
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        },
        // 显示分页器
        pagination: {
            el: '.swiper-pagination',
            clickable: true,
        }
    });

    // 旋转
    var swiper = new Swiper('.demo4', {
        loop: true,
        speed: 2500,
        slidesPerView: 5,
        spaceBetween: 30,
        centeredSlides: true,
        watchSlidesProgress: true,
        on: {
            setTranslate: function () {
                slides = this.slides;
                for (i = 0; i < slides.length; i++) {
                    slide = slides.eq(i);
                    progress = slides[i].progress;
                    slide.css({'opacity': '', 'background': ''});
                    slide.transform('');
                    slide.transform('rotate('+ progress*30+'deg)');
                }
            },
            setTransition: function (transition) {
                for (var i = 0; i < this.slides.length; i++) {
                    var slide = this.slides.eq(i)
                    slide.transition(transition);
                }
            }
        },
        // 显示左右滚动条
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        },
        // 显示分页器
        pagination: {
            el: '.swiper-pagination',
            clickable: true,
        }
    });

    // 立方体效果
    var swiper = new Swiper('.demo5', {
        loop: true,
        mousewheel: true, // 鼠标滚动
        effect : 'cube',
        cubeEffect: {
            slideShadows: true,
            shadow: true,
            shadowOffset: 100,
            shadowScale: 0.6
        }
    });

    // 3d翻转
    var swiper = new Swiper('.demo6', {
        loop: true,
        mousewheel: true, // 鼠标滚动
        effect : 'flip',
        flipEffect: {
            slideShadows : true,
            limitRotation : true,
        }
    });
</script>
</html>

官网API地址:https://www.swiper.com.cn/api/index.html

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Swiper全屏自适应轮播图片尺寸是指使用Swiper这个轮播插件来实现全屏自适应的图片尺寸展示。Swiper是一个基于原生JavaScript的轮播插件,可以通过设置参数来实现全屏自适应的效果。 首先,我们需要准备好轮播图片,保证图片的尺寸符合要求。一般来说,我们最好将图片尺寸设置为与屏幕分辨率相同或者相近的大小,这样可以在不同的设备上展示出较高的清晰度。 然后,在HTML中引入Swiper的CSS和JS文件,并创建一个容器来放置轮播图片。 接下来,在JavaScript中初始化Swiper插件,设置相关参数。其中,我们需要将轮播容器的宽度和高度设置为100%来实现全屏自适应的效果。可以将容器的宽度和高度设置为浏览器视口的宽度和高度,使用`window.innerWidth`和`window.innerHeight`来获取。 另外,我们还可以设置`effect`参数为"slide"或者"fade",来定义轮播的切换效果。还可以设置`autoplay`参数为true,来自动播放轮播图片。 最后,加载页面时,Swiper会自动根据设置的参数和轮播容器的尺寸来适应图片展示。当屏幕尺寸改变时,Swiper会自动重新计算并调整图片的尺寸,以达到全屏自适应的效果。 综上所述,通过设置合适的参数和容器尺寸,我们可以实现Swiper全屏自适应轮播图片的效果。这样,无论在不同的设备上,轮播图片都能以适应屏幕的方式展示,提供更好的用户体验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值